在Android中sqlite使用like语句查询绑定参数的问题

由于考虑到数据库的安全性,不被轻易SQL注入,执行查询语句时,一般不使用直接拼接的语句,而是使用参数传递的方法。然后在使用参数传递的方法中时,发现当使用like方式查询数据时,很容易出现一个问题。

错误案例:

1
2
3
String myname = "abc";
String sql = "select * from mytable where name like '?%'";
Cursor cursor = db.rawQuery(sql, new String[]{myname};

more

使用java批量获取Android应用图标与包名

Android主题开发者做的主题,如果想代替第三方应用图标,就必须要知道应用的包名。其实想知道应用的包名很简单,直接在浏览器打开Google Play或豌豆荚,打开某应用的页面,看网址你就会发现,网址最后“/”字符后接的就是应用的包名!

估计有人想把常用应用的图标和包名都搞下来,所以用java写了个小程序,批量抓取了豌豆荚上“全部软件”按总下载量排名里1到20页的应用图标与包名。

所有图标都用包名来命名的,里面还有一个packageName.txt文件,包含了应用名称对应的包名,方便查找。下载地址:http://pan.baidu.com/share/link?shareid=3603861107&uk=3173138872

more

体验Android Studio

2013年Google I/O上,Google发布了新的Android开发环境:Android Studio。其实Android Studio是“Android定制版”的IDEA(IDEA是一款优秀的Java开发环境),就算这样子,Android Studio也算是Android自家的开发环境了,所以肯定是推荐开发者使用自家的开发环境进行开发的了。

我第一时间下载体验了一下Android Studio,初次体验一翻后,感觉比Eclipse好多了。之前Android的开发几乎都是在Eclipse上,但是用过Eclipse的都知道Eclipse性能是相关的差。用过Eclipse再使用IDEA你就知道什么叫做“流畅”了!

more

VIBRATE_WHEN_RINGING cannot be resolved or is not a field

在一个正在开发的应用中,需要设置系统的振动开关,查阅了Android源码,发现其实现起来比较简单,但是在开发过程中,却出现了奇怪的错误。Eclipse居然提示Settings.System.VIBRATE_WHEN_RINGING出错!!但是Android系统源码里就是这么写的。import的包也没错,可能是SDK的Bug吧。然后直接使用”vibrate_when_ringing”代替好了。反正这样是正确的。

more

为Android应用添加桌面小工具(App Widget)

官方参考文档:http://developer.android.com/guide/topics/appwidgets/index.html
官方设计文档:http://developer.android.com/design/patterns/widgets.html

这里根据官方参考文档简单介绍为Android应用添加桌面小工具的方法,详情请查阅官方参考文档。(“Widget”中文的意思是“小工具”、“小部件”、“窗口小部件”的意思。)

桌面小工具可以让用户直接在桌面上操作应用的部件功能,例如音乐播放器的小工具可以让用户方便地播放或者暂停音乐,又例如最常见的天气时间桌面小工具。越来越多的应用添加了桌面小工具的功能。

more