第一章绪论1.1项目研究背景经过多年的发展,随着第三代网络的使用及四代网络的即将来了呢,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google与包括HTC、摩托罗拉、三星、联想等在内的三十多家技术和无线应用的领军企业组成的开发联盟为此于2007年11月退出了一份专为移动设备设计的软件平台——AndroidOS。Android是一套真正意义上的移动性设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化额Java程序的运行过程。Android系统平台基于优化了的Linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机硬件的连接层。Abdroid平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定特色化的产品,因此,它具有很大的市场发展潜力。1.2项目研究的目的及意义随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。根据手机功能的不断加强与完善,手机通讯录对于人们的意义,已经不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是一个人名下,可以储存座机、手机、单位、地址、电子邮箱等内容,这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性的的变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层认识的喜爱。1.3系统主要内容与实现方式1.3.1系统主要实现内容通过对android技术的相关研究,了解Android源码实现原理以及过程,从而设计出一款能够使用的手机通讯录。这款通讯录实现的相关内容如下:1、简介、使用的操作界面。2、显示所有联系人的列表3、添加联系人4、删除联系人5、修改编组联系人6、呼叫联系人7、发送短信至联系人1.3.2安卓系统开发的方法Android现在发展迅速,运营商、手机商、平板电脑厂商都在推广,甚至加点厂商也开始涉足,对Android程序开发者的需求激增,人才的培养需要一个过程,大量的企业都在寻找Android软件开发的其他方式。安卓系统开发的方法,简单来说分为四层:第一层:以Inventor为开标的绘图工具,是Google退出的简单开发工具,主要是针对初级玩家的工具,无法实现业务逻辑,运行效率也比较低。第二层:以Rexsee为代表的无线中间件,对技术门槛要求很低,会用HTML和JS的技术员就可以方便使用,在技术要求大弧度降低的同时,基础功能的封装也是一个大亮点,这些中间已经把所有应用需要的基础功能封装好,直接使用JS去调用就可以了,不再需要写代码。第三层:基于Java的jdk,目前绝大部分应用都是用这种方式开发。第四层:基于C++的NDK,很多大型游戏时一这种方法开发的,相对于JDK,这种方法的难度相对较高,目前使用的比较少。1.3.3系统开发平台由于该Android铜须路是一个基于Java语言开发软件,所以悬着了Eclipse作为开发平台,作为插件,它能够安装AndroidSDK,从而可以安装使用Android虚拟机,是的城西得以开发,亦更为方便。本通讯录系统就是在Eclipse+Android平台环境下编写设计而成的。第二章系统分析2.1系统可行性分析2.1.1技术可行性Java是有SunMicrosystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。Java虚拟机(JavaVirtualMachine)和Java应用程序接口(ApplicationProgrammingInterface、简称API)构成。Java应用编程接口为Java应用提供了一个独立操作系统的标准接口,课分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用编程就可以运行。现在Java平添已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统重运行。本软件用的是Java开发语言,在eclipse集成开发环境下,调试容易。当前的计算机硬件配置或者现有安卓手机的硬件配置也完全能够满足开发的需求,因此技术上市绝对可行的。2.1.2经济可行性开发该系统所需的相关资料可以通过以存在的相关系统进行调查采集,所需的软件系统、硬件平台等都易于获得,而且不需要Android平台机器,用虚拟器即可实现开发研究,开发成本第,容易实现,从经济角度来看,该系统可行。2.1.3操作可行性不管是安卓平台的手机,还是计算机,其成本的下降,导致计算机,安卓手机购买成本的降低,这塔哦系统是利用自己的计算机,且使用安卓虚拟器,并且在本地安装JDK、Android跟Eclipse作为软件开发平台,使开发出来的系统有友好的用户界面、操作简单,因此在操作上是可行的。2.2需求分析该通讯录软件是一种主要用来记录联系人的基于安卓平台的软件,可以运行在安卓平台虚拟器或者运行在安卓平台的手持设备上。2.2.1Android通讯录的使用意义根据手机功能使用调查显示,近10成的消费者都会使用手机通讯录功能。随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示电话号码,而是向着人性化、个性化的方向发展。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以收集号码、QQ、地址、电子邮箱、备注等内容。该系统针对的主要用户是A你的肉的手机用户,Android手机通信录管理系统包括以下主要内容:添加联系人、删除联系人、编辑联系人、查找联系人、打电话、发短息。要设计一个良好的手机通讯录,就必须首先明确该应用环境对系统的要求。Android手机通讯录应用背景:方便用户快捷通讯。2.2.2外部事件图2-1描述了通讯录与外部环境的交互。在这个系统重,通过对系统的分析,可以识别出参与者、用户。对于用户而言,通讯录上按钮时用户向系统输入的操作请求的输入设备,GUI是用于向用户输出信息的输出设备第三章系统概要设计3.1系统总体设计Android手机通讯管理软件主要功能模块包括:联系人查看、联系人编辑、联系人添加、联系人删除、呼叫、发送短信、搜索,如图3-1所示GUI按钮系统SQLitem数据库用户Android手机通讯管理软件联系人列表联系人添加联系人查看联系人编辑联系人删除呼叫联系人联系人搜索发送短信图3-1功能结构图3.2处理流程设计3.2.1业务流程图用户进入手机通讯管理软件后,会看到联系人列表界面。联系人列表界面主菜单中包括添加联系人、搜索联系人、关于及查看系统版本号、退出菜单项。点击添加联系人,则进入联系人添加界面,添加成功后返回列表界面。点击搜索菜单,则进入联系人搜索界面,输入联系人的全名或一个字,即可查找相关联系人,点击联系人会进入联系人查看界面,可以对联系人进行编辑、删除、拨打电话、发送短信。图2Android手机通讯管理软件业务流程图用户手机通讯管理软件联系人列表Menu菜单联系人添加联系人搜索联系人编辑联系人删除联系人呼叫联系人发送短信退出系统3.2.2数据增加流程图添加联系人时,数据由用户输入,点击确定按钮,判断数据是否合法(及用户名是否为空),合法则插入到数据库;不合法,提示错误信息,让用户重新输入。流程如图3所示:图3数据增加流程图3.2.3数据修改流程图编辑联系人时,点击编辑联系人菜单,输入修改后的数据,点击确定按钮,判断数据是否合法,合法,则更新数据库;不合法,则返回错误信息。流程如图4所示图4数据修改流程图添加联系人界面添加数据是否合法插入数据库修改联系人界面修改数据是否合法更新数据库3.2.4数据删除流程图当用户选定一个联系人时,点击删除联系人菜单,提示用户是否删除,点击确定按钮,则从数据库中删除此条记录。数据删除流程如图5所示:图5数据删除流程图3.3数据库设计3.3.1SQLite数据库简介SQLite,是一款轻型的数据可,是遵守ACID的关联数据库管理系统。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占据资源非常低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库端丽系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月,至今已经有10个年头,SQLite也迎来了一个版本SQLite3已经发布。本系统采用的是Android系统自带的SQLite轻型数据库、因此占用资源非常小。3.3.2SQLite特点1、轻量级SQLite和C/S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。使用SQLite一般只需要带上它的动态库,就是分享它的全部功能。而且动态库的尺寸也相当小。查看联系人界面删除联系人是否删除更新数据库2、独立性SQLite数据库的核心引擎不依赖第三方软件,使用它也不需要“安装”。所以在部署使用能省去不少麻烦。3、隔离性SQLite数据库支持所有的信息(比如表、视图、触发器等)都包含在一个文件内,方便管理和维护。4、跨平台性SQLite数据库支持大部分操作系统,除了我们在电脑上使用的操作系统之外。很多手机操作系统同样可以运行,比如Android、WindowsPhone、Symbin、Plam、IOS等。5、多语言接口SQLite数据库支持很多编译语言接口,比如C/C++、Java等,得到很多开发者的喜爱。6、安全性SQLite数据库通过数据库级的独占性和共享所实现独立事务处理。这就意味着多个进程可以同一时间从同一个数据库读取数据,在只有一个可以写入数据。在某个进程或线程想数据库执行写入操作之前,必须取得独立锁后,其他的读或写操作将不会在发生。3.3.3数据库表结构首先创建数据库,在数据库中创建表用来存储联系人数据,其中包括联系人姓名、手机号、QQ、地址等联系方式。第四章系统详细设计4.1联系人浏览模块进入手机通讯录管理软件后,看到的寄一个界面是联系人列表界面。该列表是有ListView控件生成的。打开数据库,查看数据库中所有的联系人,并把联系人的姓名和手机号码这两项填充到ListView的adapter种每一行显示一个联系人的姓名和手机号码,联系人的显示顺序是根据插入数据库的顺序显示的。点击某个联系人会进入查看联系人界面,可以查看联系人的详细信息,对联系人进行编辑、删除。拨打电话发送短信等。点击menu男牛市,就会显示主菜单,其中包括:添加、查看、关于和退出。(1)点击添加菜单,会进入添加联系人界面,可以输入联系人相关信息,完成联系人添加功能。(2)点击查找菜单,会进入联系人查找界面,进行联系人查找,搜索想要找的联系人。4.2查看联系人模块在联系人浏览界面点击某个联系人,则会跳转到该界面。该界面使用TextView把从数据库中调出的联系人的详细信息显示出来。在该Activity中添加了五项菜单,其中包括:返回列表、删除联系人、编辑联系人、呼叫联系人、发送短信给联系人、点击返回列表菜单项,会回到联系人浏览界面。4.3编辑联系人模块编辑联系人界面使用EditView空间显示并修改联系人的详细信息。联系人的所有信息,处于可编辑状态,手机号的EditView设定为只能输入数字。修改完信息后点击确定按钮,触发确定按钮点击事件,从而对