我们在使用手机的过程中,有时对于一些来电或者短信我们会希望手机能有一些合适的处理,比如:骗子的来电(容易区分的是来电只响铃一声就挂断)能够标记只响铃一声以让我们决定是否回电;让我们能将恶意来电的用户拉入黑名单以确保我们不被其打扰;或者对我们很重要的联络人可以允许我们将其放在自己的隐私空间,对隐私空间设置密码论文网,一来可以避免其他无关人员看到隐私信息,二来也可以较长时间保留我们与该联络人间的通信等等。使用其它平台的手机也许我们只能选择相关的安全软件,但这些安全软件毕竟是他人开发,不一定满足我们的需要或者有的功能对我们来说并不需要从而占用了过多的手机内存,有的平台甚至并未开发出相关的安全软件,而使用Android系统,我们就能根据自己所学开发一款能满足自己需要的Android来电卫士。
1.1 Android平台的组成
Android的系统架构如图1.1:
Android的系统架构分为四个层次,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
(1) 应用程序层(Application)
Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
(2) 应用程序框架(application framework)
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
(3) 系统运行库(Library)
Android包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架暴露给开发者。
(4) Linux内核层(Linux Kernel)
Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。
2 系统开发方法及相关技术
2.1 本项目的研究方法
2.1.1 本项目采用的开发模型
在本次开发的项目开始前,项目的需求已经被很好地理解了,向下、渐进的路径占据支配地位;本人对这一模型所需要的过程,同时解决方案在项目开始前也很明确,并且本系统的开发人员仅为我一人,非小组合作,在对各个阶段的交接上,只能按顺序进行,完成上一阶段后才能进行下一阶段的工作。故决定使用瀑布模型作为软件工程开发模型。
2.1.2 本项目的开发方法简介
现在世界上大多数的Android开发者所用的工具都是Eclipse+ADT+SDK三个组件整合开发,而本人对Eclipse也时有接触,所以同样选择个组合开发,即选用java作为开发语言,而众所周知,java是面向对象语言,故本项目的开发方法是面向对象。文献综述
2.1.3 本项目使用到的相关技术
(1) Android应用开发技术
本项目中用到了Android中的Activity、Service、BroadcastReceiver、ContentProvider四大组件应用技术,还有Menu、Toast、事件监听、布局管理等。
(2) SQLite数据库开发技术和SharedPreferences