作者归档:贺 利华

关于贺 利华

正在学习编程,享受编程 热爱文学,闲来读读《读库》 有思想,没理想 正在学会专注

Ubuntu下让Air程序TweetDeck成功使用代理发推

在使用Ubuntu的过程中自己有一些需求,例如使用Twitter客户端发推,发现目前没有哪个程序中有设置代理这么一项,真是杯具啊,生活在天朝我们拥有很多的杯具,那么如何解决这个问题呢。在网上搜了一下,有一个哥们的方法很好很给力,例如我们将程序安装到/opt/TweetDeck目录下,那么我们可以在终端中以这样的命令启动程序,export http_proxy=http://127.0.0.1:1984/ && exec /opt/TweetDeck/bin/TweetDeck,如此就可以穿越我们伟大的GFW了,如果你觉得每次都这样非常不方便的话,那么我们将其做成shell文件即可。

1. 创建脚本,名为TweetDeck,sudo vim /usr/bin/TweetDeck

2 .脚本内容为:

#!/bin/bash
export http_proxy=http://127.0.0.1:1984/ #这是因为我使用的是Puff,其他http代理应该是一样的

exec /opt/TweetDeck/bin/TweetDeck

3. 将shell文件的权限改为可执行,sudo chmod +x /usr/bin/TweetDeck

之后你就可以顺利的从命令行启动你的客户端了,当然如果你想将主菜单以及桌面上的快捷方式也顺便修改一下的话,那么可以通过System->Preferences->Main Menu->Applications->Accessories->TweetDeck,找打你需要修改的项,然后选中Properties,找到Command选项,将Command指向刚才咱们创建的shell文件/usr/bin/TweetDeck即可,同理桌面程序启动器也可以通过其Properties中的Command子项来修改其启动的命令。

这样你就可以畅通无阻的开始在墙外的世界使劲推了。

上个图吧,:-)

TweetDeck截图

TweetDeck截图

中秋祝语(程序员版)

有的女人就像Windows 虽然很优秀,但是安全隐患太大。
有的女人就像UNIX  她条件很好,然而不是谁都能玩的起。
有的女人就像C# 长的很漂亮,但是家务活不行。
有的女人就像C++,她会默默的为你做很多的事情。
有的女人就像JAVA,只需一点付出她就会为你到处服务。
有的女人就像JAVA script,虽然对她处处小心但最终还是没有结果。
有的女人就像汇编 虽然很麻烦,但是有的时候还得求它。
有的女人就像 SQL,她会为你的发展带来莫大的帮助。
爱情就是死循环,一旦执行就陷进去了。
爱上一个人,就是内存泄露,你永远释放不了。
真正爱上一个人的时候,那就是常量限定,永远不会改变。
女朋友就是私有变量,只有我这个类才能调用。
情人就是指针用的时候一定要注意,要不然就带来巨大的灾难
祝各位在编程第一线的童鞋们,中秋快乐~

===========该文从某个QQ群中获得==================

Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案

在Android软件设计与实现中我们通常都会使用到ListView这个控件,系统有一些预置的Adapter可以使用,例如SimpleAdapter和ArrayAdapter,但是总是会有一些情况我们需要通过自定义ListView来实现一些效果,那么在这个时候,我们通常会碰到自定义ListView无法选中整个ListViewItem的情况,也就是无法响应ListView的onItemClickListener中的onItemClick()方法,究竟是为什么呢?我之前也在网上查过不少的资料,但是没有发现什么有价值的文章,有一些是建议在Adapter的getView方法中对自己需要响应单击事件的控件进行设置。但是最终的效果并不是特别理想,而且我认为这是一种取巧的方式,并不推荐。之后自己查看了一下ViewGroup的源码,发现了以下的一段常量声明:

/**
* This view will get focus before any of its descendants.
*/
public static final int FOCUS_BEFORE_DESCENDANTS = 0x20000;
/**
* This view will get focus only if none of its descendants want it.
*/
public static final int FOCUS_AFTER_DESCENDANTS = 0x40000;
/**
* This view will block any of its descendants from getting focus, even
* if they are focusable.
*/
public static final int FOCUS_BLOCK_DESCENDANTS = 0x60000;

/**     * This view will get focus before any of its descendants.     */

public static final int FOCUS_BEFORE_DESCENDANTS = 0x20000;
/**     * This view will get focus only if none of its descendants want it.     */

public static final int FOCUS_AFTER_DESCENDANTS = 0x40000;
/**     * This view will block any of its descendants from getting focus, even     * if they are focusable.     */

public static final int FOCUS_BLOCK_DESCENDANTS = 0x60000;

我们看到了一行代码定义的变量的意思是“当前View将屏蔽他所有子控件的Focus状态,即便这些子控件是可以Focus的”,其实这段话的意思就是这个变量代表着当前的View将不顾其子控件是否可以Focus自身接管了所有的Focus,通常默认能获得focus的控件有Button,Checkable继承来的所有控件,这就意味着如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListView中Item中包含的所有控件的focusable属性设置为false,这样的话ListView的Item自动获得了Focus的权限,也就可以被选中了,也就会响应onItemClickListener中的onItemClick()方法,然而将ListView的Item Layout的子控件focusable属性设置为false有点繁琐,我们可以通过对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendant”即可,这样Item Layout就屏蔽了所有子控件获取Focus的权限,不需要针对Item Layout中的每一个控件重新设置focusable属性了,如此就可以顺利的响应onItemClickListener中的onItenClick()方法了。

Android TabActivity无法正常bindService解决方法

在Android开发的过程中,我们很有可能会使用到TabActivity来进行开发,而如果你的程序中需要针对TabActivity的TabHost中的每一个Activity绑定一个Service,通常我们的做法是在对应Tab页的Activity的onCreate()方法中进行bind操作,但是通过实践表明这个方法是无法达到绑定效果,在网上查了一下,发现在Google Android Issue中有这个缺陷,缺陷详细信息在这里(Google Android Issue 2483),三楼的oliver给出了正解

Using getApplicationContext().bindService instead of just bindService on your activity solves the problem as it is using the higher level application context.

也就是在TabActivy的TabHost中的Activity如果需要bindService的话,需要先调用getApplicationContext()获取其所属的Activity的上下文环境才能正常bindService,也就是在onCreate()方法中使用this.getApplicationContext().bindService([args…])就可以了,否则bindService将永远失败返回false。具体的代码并没有去查看,先记录一下吧。

====================明天是个好天气=======================

你被偷走了什么?

《岁月神偷》,一部期待了很久的电影,之前看过海报,觉得会是自己喜欢的类型,一直想看,直到今天才得偿所愿。任达华,吴君如的演技自然纯熟,完全演绎出了香港小人物在市井中的生活,怡然而不失无奈,坚强而不失温情。故事很简单,剧情很温暖,画面很美丽。

李治廷饰演的罗进一,钟绍图饰演的罗进二,带给我们的不只是影片中的一个个温情的片段,更是唤醒了自己曾经的童年,岁月给了我们什么,又带走了什么呢?我想我是热爱生活的,我想我也是热爱现实的,我曾经的梦想呢?我那幼小的弟弟的梦想呢?生活让我们成长,让我们离开了家乡,离开了父母,我们追求着什么?

影片中的最感人的是进一的很多话被别人记住了,有芳菲记住的关于爱情的,有进二记住的关于彩虹的,还有老妈的话,“人总要信的”,是啊,人总要信的。谢谢!谢谢有这么好的电影,让自己在深夜里还能感到一股温暖,滚烫的温暖。