基于Android系统手机通讯录管理软件的设计与开发Word文件下载.docx
《基于Android系统手机通讯录管理软件的设计与开发Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于Android系统手机通讯录管理软件的设计与开发Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
Keywords:
Basicmeaningof’Robot’,FirstappearedinFrenchwriterDavidVilla’sLandaposEveFuturein1886,HenamedtherobotlookslikeamanasAndroid.SoGoogleannouncedLinuxplatformbasedontheopensourcephoneoperatingsystem,Chinesename:
anzhuo.
第一章绪论
1.1项目研究背景
经过多年的发展,随着第三代网络的使用及四代网络的即将来临,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
Google与包括HTC、摩托罗拉,三星,联想等在内的三十多家技术和无线应用的领军企业组成的开发联盟为此于2007年11月推出了一个专为移动设备设计的软件平台——AndroidOS。
Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。
Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化了Java程序的运行过程。
Android系统平台基于优化了的Linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层。
Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,Android里面具有非常丰富的图形系统,对多媒体的支持功能和非常强大的浏览器[3]。
Android平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定特色化的产品,因此,它具有很大的市场发展潜力。
1.2项目研究的目的及意义
随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎[7]。
手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。
根据手机功能使用调查显示,有9成以上的消费者使用手机通讯录功能。
随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展[4]。
通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。
这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层人士的喜爱。
1.3系统主要实现内容与实现方式
1.3.1系统主要实现内容
通过对Android技术的相关研究,了解Android源码实现原理以及过程,从而设计出一款能够使用的手机通讯录。
这款音乐播放器实现的相关内容如下:
❑简洁、实用的操作界面。
❑显示所有联系人的列表。
❑添加联系人。
❑删除联系人。
❑修改编辑联系人。
❑呼叫联系人。
❑发送短信至联系人。
1.3.2安卓系统开发的方法
Android现在发展迅猛,运营商、手机商、平板电脑厂商都在推,甚至家电厂商们也开始涉足,对Android程序开发者的需求激增,人才的培养需要一个过程大量的企业都在寻找Android软件开发的其他方式。
卓系统开发的方法,简单来说分成四层:
第一层,以Inventor为代表的绘图工具,是Google推出的简单开发工具,主要是针对初级玩家的工具,操作起来很容易,这种容易上手的绘图工具,无法实现业务逻辑,运行效率也比较低。
第二层,以Rexsee为代表的无线中间件,对技术门槛的要求很低,会用HTML和JS的技术员就可以方便的使用,在技术要求大幅度降低的同时,基础功能的封装也是一大亮点,这些中间件已经把所有应用需要的基础功能封装好,直接使用JS去调用就可以了,不再需要写代码。
第三层,基于JAVA的JDKJDK(JavaDevelopmentKit),目前绝大部分应用都是用这种方式来开发,本课程设计软件就采用这第三层开发来实现。
第四层,基于C++的NDK(NativeDevelopmentKit),很多大型游戏是以这种方法开发的,相对于JDK,这种方法的难度相对叫高,目前使用的比较少。
1.3.3系统的开发平台
由于该android通讯录是一个基于Java语言开发软件,所以选择了Eclipse3.4作为开发平台,作为插件,它能够安装AndroidSDK,从而可以安装使用Android虚拟机,使得程序得以开发,亦更为方便。
本通讯录系统就是在Eclipse3.4+Android平台环境下编写设计而成的。
1.4系统开发需用到的技术支持
1.4.1Java语言
Java是一种简单的,面向对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
Java的开发环境有不同的版本,如sun公司的JavaDevelopersKit,简称JDK。
后来微软公司推出了支持Java规范的MicrosoftVisualJ++Java开发环境,简称VJ++。
Java的特点:
1.平台无关性
平台无关性是指Java能运行于不同的平台。
Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。
使用Java编写的程序能在世界范围内共享。
Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。
2.安全性
Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。
Java对程序提供了安全管理器,防止程序的非法访问。
3.面向对象
Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。
类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。
程序员只需把主要精力用在类和接口的设计和应用上。
Java提供了众多的一般对象的类,通过继承即可使用父类的方法。
4.分布式
Java建立在扩展TCP/IP网络平台上。
库函数提供了用HTTP和FTP协议传送和接受信息的方法。
这使得程序员使用网络上的文件和使用本机文件一样容易。
5.键壮性
Java致力于检查程序在编译和运行时的错误。
类型检查帮助检查出许多开发早期出现的错误。
Java自已操纵内存减少了内存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能。
这些功能特征大大提高了开发Java应用程序的周期。
1.4.2Android
Android平台由互联网与社会信息科技的领袖google公司开发,由google和二十多家业界重量级企业联盟提供持续性的技术支持。
Google的开放自由精神。
Android联盟的雄厚实力,以及App商店商业模式带来的巨大活力,使得在IT界出现一大批热爱,追随安卓平台开发人员和产品设计人员。
Android操作系统最初由AndyRubin开发,最初主要支持手机。
2005年由Google收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。
2010年末数据显示,仅正式推出两年的操作系统的Android已经超越称霸十年的诺基亚Symbian系统,跃居全球最受欢迎的智能手机平台。
Android的主要竞争对手是苹果的IOS,微软的WP7以及RIM的BlackberryOS。
第二章系统分析
2.1系统可行性分析
2.1.1技术可行性
Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言(以下简称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、地址、电子邮件,备注等内容。
该系统针对的主要用户是Android手机用户。
Android手机通信管理系统包括以下主要内容:
添加联系人、删除联系人、编辑联系人、查找联系人、打电话、发短信。
要设计一个良好的手机通讯录,就必须首先明确该应用环境对系统的要求。
Android手机通讯录应用背景:
方便用户快捷通讯。
2.2.2外部事件
图2-1描述了通讯录与外部环境的交互。
在这个系统中,通过对系统的分析,可以识别出参与者:
用户。
对于用户而言,通讯录上按钮是用户向系统输入的操作请求的输入设备,GUI与是用于向用户输出信息的输出设备。
图2-1通讯录的参与者
事件是来自人操作的重要的消息,表2-1给出了通讯录系统中可能发生的所有事件。
表2-1系统响应及其执行结果
事件
系统响应
执行结果
1
从手机屏幕点击软件系统
调用函数入口,启动系统,进入该软件
进入该软件,显示联系人列表
2
点击"
Menu"
,选择添加联系人
调用添加函数
进入添加界面
3
点击其中一个联系人
调用查看某个联系人函数
进入联系人详细界面
4
在联系人详细界面点击"
,可对联系人进行修改
调用修改函数
进入修改界面
5
,可对联系人进行发送短信
调用系统发送短信函数
进入发送短信界面
6
,可对联系人进行拨打电话
调用系统拨打电话函数
进入呼叫联系人界面
7
,可对联系人进行删除
调用删除函数
删除联系人
8
在联系人列表界面点击"
,选择查找
调用查找联系人函数
显示用户查找结果
9
,选择退出
调用退出函数
退出通讯录软件
10
在联系人列表长按其中一个联系人
调用长按函数
显示对该联系人的3种操作:
查看,编辑,删除
第三章系统概要设计
3.1系统总体设计
Android手机通讯管理软件主要功能模块包括:
联系人添加、联系人查看、联系人编辑、联系人删除、呼叫、发送短信、搜索,如图3-1所示。
图3-1功能结构图
3.2处理流程设计
3.2.1业务流程图
用户进入手机通讯管理软件后,会看到联系人列表界面。
联系人列表界面主菜单中包括添加联系人、搜索联系人、关于及查看系统版本号、退出菜单项。
点击添加联系人,则进入联系人添加界面,添加成功后返回联系人列表界面。
点击搜索菜单,则进入联系人搜索界面,输入联系人的全名或一个字,即可查找到相关联系人,点击联系人会进入联系人查看界面,可以对联系人进行编辑、删除、拨打电话、发送短信。
图2Android手机通讯管理软件业务流程图
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中。
每一行显示一个联系人的姓名和手机号码,联系人的显示的顺序是根据插入数据库的顺序显示的。
点击某个联系人会进入查看联系人界面,可以查看联系人的详细信息,对联系人进行编辑、删除、拨打电话发送短信等。
联系人浏览界面如图6所示:
图6联系人浏览界面
点击MENU按钮时,就会显示主菜单项,其中包括:
添加、查找、关于和退出。
点击添加菜单,会进入添加联系人界面,可以输入联系人相关信息,完成联系人添加功能。
点击查找菜单,会进入联系人查找界面,可以进行联系人查找,搜索想要找的联系人。
点击关于,查看该软件的系统版本号等详细信息,点击退出菜单,则会退出该软件。
主菜单如图7所示:
图7主菜单项
长按列表的某一行时,会弹出长按菜单,其中包括:
查看联系人、编辑联系人、删除联系人。
点击查看联系人菜单会进入查看联系人界面。
点击编辑联系人菜单会进入编辑联系人编辑界面。
点击删除联系人时,会弹出对话框,询问是否删除联系人,点击确定,则从数据库中删除该联系人。
长按菜单如图8所示:
图8联系人浏览界面长按菜单
4.2查看联系人模块
在联系人浏览界面点击某个联系人,则会跳转到该界面。
该界面使用TextView把从数据库中调出的联系人的详细信息显示出来,这里面包括联系人姓名、手机号、地址等详细信息。
在该Activity中添加了五项菜单,其中包括:
返回列表、删除联系人、编辑联系人、呼叫联系人、发短信给联系人。
点击返回列表菜单项,会回到联系人浏览界面。
点击删除联系人菜单项,会从数据库中删除联系人,并返回到联系人浏览界面。
点击编辑联系人菜单项,会跳转到联系人编辑界面,可以对联系人信息进行修改。
该软件实现了给联系人拨打电话和发送短信的功能。
查看联系人界面如图9所示:
图9查看联系人界面
4.3编辑联系人模块
编辑联系人界面使用EditView控件显示并修改联系人的详细信息。
联系人的所有信息,处于可编辑状态,手机号和座机号的EditView设定为只能输入数字。
修改完信息后点击确定按钮,触发确定按钮点击监听事件,从而对数据库中该联系人的信息进行更新,然后自动返回联系人浏览界面。
点击取消按钮会返回联系人浏览界面。
联系人编辑界面设置了返回列表菜单和删除联系人菜单。
点击删除联系人,则会从数据库中删除该联系人。
点击返回列表菜单,会返回到联系人浏览界面。
编辑联系人界面如图10所示:
图10编辑联系人界面
5.4查找联系人模块
这里采用的查找方法是SQL模糊查询,可以只输入联系人姓名中的一部分,在sql语句中联系人姓名的前后添加“%”,即可查找到所有包含该部分的联系人,并在ListView中显示出来所有的联系人的姓名和手机号码。
图11查找联系人界面
4.5关于
点击关于,可以查看该软件的系统版本号等情况。
第五章系统测试与调试
5.1测试目的
程序测试就是在程序投入运行前,对程序的需求分析、设计规格说明和编码的最终