一、打勾显示输入的密码
private EditText et; private CheckBox cb; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.password); et = (EditText)findViewById(R.id.editText1); cb = (CheckBox)findViewById(R.id.checkBox1); cb.setOnCheckedChangeListener(new OnCheckedChangeListener(){ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(cb.isChecked()){ et.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); } else{ et.setTransformationMethod(PasswordTransformationMethod.getInstance()); } } }); }
实时监视EditText内输入的字符
mEditText1.addTextChangedListener(new TextWatcher(){ public void afterTextChanged(Editable s) { } public void beforeTextChanged(CharSequence s, int start, int count, int after) { } public void onTextChanged(CharSequence s, int start, int before, int count) { } });
最近需要用在IPad上读些英文的pdf文档,如果IPad上能像用电脑电脑一样即点即译就太方便了。我想要的即点即译取词翻译这个功能在安卓上已经有pdf阅读软件可以实现了,无奈安卓手机屏幕大小有限,实在没有IPad上看文档来的爽感,而且老婆大人最近也把IPad慷慨的赐予我使用,所以只能想想办法看看有木有办法实现啦。
GoodReader在IPad也算是看文档的利器了,无意间发现,居然可以取词然后通过google和wikipedia进行查询。
一丝邪念涌上心头啊:)拦截再重定向到在线词典网站就行喽。决定就拿那个维基百科开刀了。
听说在IOS 5上可以直接用内置词典查词,但是懒得的升级了。
下面开始:
1. 前提条件:
1.) 越狱的IPad一台(废话,不然搞毛啊),我的是4.2.1的
2.) 安装好GoodReader,我的版本是3.14
3.) 安装好openssh 和 issh, 这两个东东可以在cydia里直接安装,网上教程一大片,不再赘述啦。
2. 安装必要软件:
ruby解释器
可以到http://apt.saurik.com/debs/下载,把ruby_1.9.1-p429-6_iphoneos-arm.deb和berkeleydb_4.6.21-4_iphoneos-arm.deb下载回来,使用ifunbox或者同步助手传到IPad上。我在安装ruby的时候提示缺少berkeleydb,不知道是不是个案,所以也下回来备用。
会用ssh远程登录的同鞋可以在电脑上登录到IPad上安装,不会的话,就用issh安装吧,前提条件是openssh一定要安装好启动起来。下面给几个issh的截图。
issh登录IPad的配置:
安装ruby,如果报缺少berkeleydb,那也用同样的命令装上。
- dpkg - i berkeleydb_4.6.21-4_iphoneos-arm.deb
- dpkg - i ruby_1.9.1-p429-6_iphoneos-arm.deb
安装完成成,运行ruby -v验证一下安装是否成功,输出见下图。
- root# ruby -v
ruby 1.9.1p429 (2010-07-02 revision 28523) [arm-darwin9]
3. 修改配置拦截到维基百科的查询
修改/etc/hosts添加如下两行,可以先把文件下载到电脑上修改完了,在上传覆盖原文件就可了。
127.0.0.1 iciba.wikipedia.org
127.0.0.1 youdao.wikipedia.org
下图是修改以后的样子:
4. 上传转发脚本
先把转发脚本的zip包下回来,地址: dl.iteye.com/topics/download/d4e05f40-5f9d-3c79-8b88-b39b653677a2
然后解压缩后得到两个文件,传到IPad上的任意目录。
- httpserv.rb
- start.shh
然后是用issh命令行,找到start.sh所在位置,执行 chmod 755 start.sh给start.sh脚本添加执行权限。
5. 启动转发脚本
同样是使用issh登录后,找到并执行start.sh,将会启动一个在80端口的http监听服务。 一定要用root登录执行,不然80端口是没有权限监听的。如下图所示,即为成功了。注意,每次使用goodreader前,都要保证这个监听服务在运行,issh不要退出,切换到后台就可以了啊。不要重复执行,毕竟端口监听是独占的嘛。
6.运行Goodreader
万事具备只欠东风了。
修改维基百科的设置,保证查询的操作转发给有道在线词典,或者是词霸在线词典。请看截图:
修改维基百科的语言前缀为 youdao或者 iciba, 前者是用有道在线词典,后者用金山词霸在线词典。
OK啦,试一下吧。
不局限于pdf文档,只要能在goodreader里查维基百科的都可取词翻译,如果需要维基百科的功能把语言前缀改回去就行了,希望能给看英文文档的同鞋带了些便利。
一、与线程的结合
final CharSequence strDialogTitle = getString(R.string.str_dialog_title); final CharSequence strDialogBody = getString(R.string.str_dialog_body); // 显示Progress对话框 myDialog = ProgressDialog.show(EX03_18.this, strDialogTitle, strDialogBody, true); new Thread() { public void run() { try { /* 在这里写上要背景执行的程序片段 */ /* 为了明显看见效果,以暂停3秒作为示范 */ sleep(3000); } catch (Exception e) { e.printStackTrace(); } finally { // 卸除所建立的myDialog对象。 myDialog.dismiss(); } } }.start(); /* 开始执行线程 */ }