基于Android的私密短信系统设计与实现
2012-08-15刘安战贾晓辉
刘安战,贾晓辉
(中原工学院,河南 郑州 450007)
2007年 11月Google公司推出 Android[1]智能手机平台,接着推出的面向Android应用开发的 SDK[2]为开发者开发Android平台上各种应用提供了方便。随着时间的推移,各种应用层出不穷,目前国内已经出现了很多汇集Android应用的网站,如AppChina应用汇和安智市场等。
Android 有活动(Activity)、服务(Service)、广播 接 收 器(Broadcast Receiver)和内容提供 者 (Content Provider)4大组件[3]。
活动主要用来进行应用界面的开发,一个活动往往占据当前的窗口,对于开发者而言,就需要派生一个Activity的子类。服务有点像后台程序,通常都是后台长时间运行,接受上层调用指令,完成相关功能。广播接收器用来接收一种或若干种意图(Intent)的触发事件,当事件发生时,系统会传递消息给广播接收器,进而由广播接收器进行进一步处理。广播接收器一般用来监听一些事件,如:监听来电、邮件和短信等。内容提供者是Android提供的第三方应用数据的访问方案。每个Content Provider都用一个URI作为独立的标识,如:content://sms/inbox表示短信收件箱。Content Provider在屏蔽了内部数据的存储细节基础上向外提供了统一的接口,这样大大简化了上层应用的访问。
除了 4大组件外,Android还提供了意图 (Intent)机制,它能在程序运行的过程中连接2个不同的组件。活动、服务和广播接收器都是通过意图机制激活的,意图在组件之间传递数据。
1 Android短信库
1.1 短信息表结构
Android系统中采用的SQLite[4]嵌入式数据库,其短息库为mmssms.db,在adb shell中可以通过sqlite3 mmssms.db连接该数据库。通过.tables命令可以发现mmssms.db共有13个表,其中的sms表是用来存储所有短息数据的,通过.schema sms命令查看表sms的表结构,其表结构如表1所示。……
