了解了SMSPopup的相关概况后,开始研究源代码,从Google Code上check了一份最早的版本0.9.6,早期版本,核心功能有,而且代码结构很简单清晰。关于看源代码的方法,参考了网上很多人的想法,大致的意思是先从总体对代码有个了解,然后深入分析自己要学习的相关代码,否则会陷入茫茫代码中。
源码结构
来看一下SMSPopup的项目结构
一共两个包,19个类,代码量不算多,貌似最新版的代码多了很多,逐个介绍下
包名:net.everythingandroid.smspopup //主要功能类
ClearAllReceiver --清除WakeLocks和启用键盘锁
Log --日志类,提供了打印日志的相关方法
ManageKeyguard --管理键盘锁
ManageNotification --管理通知
ManageWakeLock --管理唤醒锁
ReminderReceiver --未读消息提醒Receiver,调用ReminderReceiverService来处理
ReminderReceiverService--处理未读消息提醒,在状态栏显示图标
SmsMmsMessage --短信及彩信实体对象
SMSPopupActivity --弹出窗的Activity
SMSPopupConfigActivity --相关配置的Activity,程序入口
SMSPopupUtils --获取短信及彩信相关属性,如短信的发件人,短信内容,未读短信总数等等。
SMSPopupUtilsService--将短信标为已读的Service
SMSReceiver --接受系统短信、彩信到达的广播,并启动SMSReceiverService来处理
SMSReceiverService --将接受到的短信或彩信展示到弹出窗口中
包名:net.everythingandroid.smspopup.preferences //自定义设置相关类
AppEnabledCheckBoxPreference --是否启用SMSPopup
CustomVibrateListPreference --自定义震动模式相关设置
DialogCheckBoxPreference --自定义弹出窗样式的设置
EmailDialogPreference --发送邮件给开发者的设置
TestNotificationDialogPreference--测试通知的设置
Mainfest
了解一个Android应用程序最快的方法就是从Mainfest文件开始,Mainfest也是Android程序中最重要的元素。SMSPopup的Mainfest文件主要的内容如下:
1、Activity
.SMSPopupConfigActivity ---配置窗体,程序入口
.SMSPopupActivity ---弹出窗体
值得注意的是这两个Activity的launchMode(加载模式)属性不同,前者是singleTask,后者是singleInstance,虽然两者都是表示在Activity栈中只限定有一个实例,但还是有区别的,关于Activity的加载模式,具体可见http://android.group.iteye.com/group/blog/718835
2、Receiver
.SMSReceiver接受系统短信及彩信到达广播
.ClearAllReceiver和.ReminderReceiver见上面的描述
3、Service
.SMSPopupUtilsService、.SMSReceiverService、.ReminderReceiverService,具体描述看上面
4、Uses-permission(
应用程序权限)
从中也可以看出系统的大概功能
android.permission.RECEIVE_SMS 接收短信
android.permission.READ_SMS 读短信
android.permission.WRITE_SMS 编辑短信
android.permission.READ_CONTACTS 获取联系人数据
android.permission.WAKE_LOCK 唤醒锁
android.permission.DISABLE_KEYGUARD 键盘解锁
android.permission.VIBRATE 震动
android.permission.RECEIVE_MMS 接收彩信
分享到:
相关推荐
SMSPopup源码(V0.9.6 & V1.1.0) 博文链接:https://lucky-man.iteye.com/blog/954114
下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用: 1、Android团队提供的示例项目 如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来...
从该项目代码中,可以学习到很多Android安全方面的内容,这些是你在开发应用时经常需要考虑的安全问题。 10、 WordPress的Android应用 当然在最后不能不提WordPress的Android应用了,这是WordPress官方开发团队...
Android源码——SMSPopup速读短信源码.7z
经典的Android项目——SMSPopup.zip
Android 短信阅读器开源代码供大家欣赏
Android源码——SMSPopup速读短信源码.zip
安卓Android源码——SMSPopup速读短信源码.zip
值得研究的10个安卓项目源码 1.Android SMSPopup 2.Android团队提供的示例项目 3.ConnectBot 4.Foursquare 5.OpenSudoku-android 6.Pedometer 7.Remote Droid
从该项目代码中,可以学习到很多Android安全方面的内容,这些是你在开发应用时经常需要考虑的安全问题。 10、 WordPress的Android应用 当然在最后不能不提WordPress的Android应用了,这是WordPress官方开发团队...
SMSPopup速读短信源码.zip
Android程序研发源码Android SMSPopup速读短信源码.rar
Android SMSPopup速读短信源码
android SMSPopup速读短信源码
android sms 工具 可以测试使用
SMSPopup_Android
SMSPopup可以截获短信内容显示在一个泡泡形状的窗口中。从这个项目中可以掌握到如何使用内置的短信SMS接口。
Android SMSPopup速读短信源码.rar