基于android通讯录项目文档.docx

上传人:b****1 文档编号:10997458 上传时间:2023-05-28 格式:DOCX 页数:22 大小:425.91KB
下载 相关 举报
基于android通讯录项目文档.docx_第1页
第1页 / 共22页
基于android通讯录项目文档.docx_第2页
第2页 / 共22页
基于android通讯录项目文档.docx_第3页
第3页 / 共22页
基于android通讯录项目文档.docx_第4页
第4页 / 共22页
基于android通讯录项目文档.docx_第5页
第5页 / 共22页
基于android通讯录项目文档.docx_第6页
第6页 / 共22页
基于android通讯录项目文档.docx_第7页
第7页 / 共22页
基于android通讯录项目文档.docx_第8页
第8页 / 共22页
基于android通讯录项目文档.docx_第9页
第9页 / 共22页
基于android通讯录项目文档.docx_第10页
第10页 / 共22页
基于android通讯录项目文档.docx_第11页
第11页 / 共22页
基于android通讯录项目文档.docx_第12页
第12页 / 共22页
基于android通讯录项目文档.docx_第13页
第13页 / 共22页
基于android通讯录项目文档.docx_第14页
第14页 / 共22页
基于android通讯录项目文档.docx_第15页
第15页 / 共22页
基于android通讯录项目文档.docx_第16页
第16页 / 共22页
基于android通讯录项目文档.docx_第17页
第17页 / 共22页
基于android通讯录项目文档.docx_第18页
第18页 / 共22页
基于android通讯录项目文档.docx_第19页
第19页 / 共22页
基于android通讯录项目文档.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于android通讯录项目文档.docx

《基于android通讯录项目文档.docx》由会员分享,可在线阅读,更多相关《基于android通讯录项目文档.docx(22页珍藏版)》请在冰点文库上搜索。

基于android通讯录项目文档.docx

基于android通讯录项目文档

项目组号

密级公开

 

湖南科技职业学院软件学院

实训项目文档

 

项目名称基于android的手机通讯录

专业嵌入式3121班

指导教师刘豪

学生姓名向宏华

2015年01月

摘要

随着Android手机操作系统的飞速发展,Android的各种手机软件如雨后春笋般出现。

手机通讯录作为一款手机的基础功能,直接影响着用户对手机使用的体验与感觉。

手机通讯管理软件已发展成为名片夹的形式,丰富了联系人的信息,存储了更多的内容。

另外一方面,联系人的数据备份也是一件很重要的事情。

我们经常遇到手机丢失,或手机损坏的情况,所以一旦丢失联系人的联系方式,我们便会遇到很多麻烦。

研究的这个课题,主要用于解决这两方面的问题。

本软件采用Eclipse+Androidsdk集成环境,使用Java高级语言开发。

通过对通讯录中的联系人的管理,来方便用户通讯更加便捷,联系人的数据保存更加安全。

在对Android手机通讯管理软件进行详细的系统设计时,对功能进行详细的划分并对其功能做了详细的介绍,列出了一些主要代码和流程图。

关键词:

Android;手机通讯管理软件;Java。

目录

摘要1

第一章课题简介4

1.1课题简要说明4

1.2可行性研究4

1.2.1经济可行性4

1.2.2技术可行性4

1.2.3运行可行性4

1.3系统特色4

第二章需求分析5

第三章概要设计6

3.1功能模块图6

3.2处理流程设计6

3.2.1业务流程图6

3.2.2数据增加流程图7

3.2.3数据修改流程图8

3.2.4数据删除流程9

3.3数据库设计9

3.3.1SQLite数据库9

4.3.2数据库表结构10

第四章详细设计12

4.1联系人浏览模块12

4.3修改联系人模块14

4.4查找联系人模块15

4.5增加联系人模块16

4.6子菜单模块17

第五章系统测试与调试19

5.1程序调试19

5.2系统的测试19

5.2.1测试的意义及目的19

5.2.2测试步骤19

5.2.3测试的主要内容19

5.3测试数据20

总结22

第一章课题简介

1.1课题简要说明

设计与实现一个在Android系统上运行的手机通讯管理软件,实现手机通讯的基本功能,包括:

存储联系人、拨打电话、发动短信、发送email、添加联系人以及数据导入导出功能(数据备份)。

1.2可行性研究

该阶段通过对系统目标的初步调试和分析,提出可行性方案并进行论证,这里主要从经济可行性、技术可行性、和操作可行性等方面进行分析。

1.2.1经济可行性

开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的软件系统、硬件平台等都易于获得,开发成本低,容易实现,从经济角度来看,该系统可行。

1.2.2技术可行性

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求。

本软件用的是Java开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此技术上是绝独可行的。

软件方面:

相关的开发软件,可以方便的从网上下载,易于获得,且可以满足系统需求[10]。

1.2.3运行可行性

运行性是对组织结构的的影响。

该软件界面简洁,操作十分简单,所以从运行角度上看,该软件是可行的。

综上所述,该系统的开发从经济、技术、运行等方面完全可行。

1.3系统特色

该软件特色:

可以丰富联系人的信息;联系人数据导出。

可以实现联系人数据导出到文本,实现数据备份。

大家生活当中经常遇到手机丢失,最担心的就是丢失手机里的电话号码。

这款软件可以很好的满足Android手机用户的需求。

第二章需求分析

根据手机功能使用调查显示,有八成以上的消费者使用手机通讯录功能。

随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展。

通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。

数据备份是绝大多数用户比较关心的问题。

大家都害怕手机丢失,手机损坏。

该系统与其他手机通讯录的区别是具有数据导入导出功能。

导入导出不是从手机导入到存储卡,或从存储卡导到手机,而是指该系统可以连接服务器,把手机上联系人的数据保存在服务器上,需要的时候可以冲服务器进行下载,导入到手机中。

或吧联系人数据导入到文本,保存在手机上。

也可以从文本中导入联系人。

该系统针对的主要用户是Android手机用户。

Android手机通信管理系统包括以下主要内容:

添加联系人、删除联系人、编辑联系人、查找联系人、打电话、发短信、联系人数据导出。

要设计一个良好的手机通讯录,就必须首先明确该应用环境对系统的要求。

Android手机通讯录应用背景:

方便用户快捷通讯;及时导出数据。

因此,该系统需要满足以下几方面的需求:

(1)添加联系人:

点击添加联系人菜单,添加联系人的姓名、电话号码、地址、邮箱、即时通讯号码、单位、职务、其他联系方式、备注,存储到数据库中。

(2)删除联系人:

选中联系人,点击删除联系人菜单;或在查看联系人的时候,点击删除联系人菜单,从数据库中删除联系人。

(3)编辑联系人:

修改联系人的相关信息,更新数据库。

(4)查找联系人:

在浏览联系人的时候点击查找菜单,查找想找的联系人。

(5)打电话:

在查看联系人的时候可以给联系人拨打电话。

(6)发短信:

在查看联系人的时候可以给联系人发送短信。

(7)联系人数据导出:

在浏览联系人的时候,可以导出所有联系人的数据到文本中,可以把文本导到电脑上进行数据备份。

防止手机丢失或损坏。

第三章概要设计

3.1功能模块图

Android手机通讯管理软件主要功能模块包括:

联系人添加、联系人查看、联系人编辑、联系人删除、呼叫、发送短信、搜索和导入导出。

如图1所示:

图1Android手机通讯管理软件功能模块图

3.2处理流程设计

3.2.1业务流程图

用户进入手机通讯管理软件后,会看到联系人列表界面。

联系人列表界面主菜单中包括添加联系人、搜索联系人、删除、菜单和退出项。

点击添加联系人,则进入联系人添加界面,添加成功后返回联系人列表界面。

点击搜索菜单,则进入联系人搜索界面,输入联系人的全名或一个字或者手机号码,即可查找到相关联系人,点击联系人会进入联系人查看界面,可以对联系人进行编辑、删除、拨打电话、发送短信、发送email。

联系人导入导出是将联系人数据备份到服务器或SD卡,也可以从服务器或SD卡导入数据到手机。

在联系人列表界面,长按某一联系人,会选中联系人,可以进行删除操作。

如业务流程如图2所示:

返回

显示所有

关于

图2Android手机通讯管理软件业务流程图

3.2.2数据增加流程图

添加联系人时,数据由用户输入,点击确定按钮,判断数据是否合法,合法则插入到数据库;不合法,提示错误信息,让用户重新输入。

如流程如图3所示:

图3数据增加流程图

3.2.3数据修改流程图

编辑联系人时,点击联系人进入联系人详情页面,默认为不可修改状态,点击修改按钮,可进行修改,输入完数据,点击保存修改。

流程如图4所示:

图4数据修改流程图

3.2.4数据删除流程

当用户选定一个联系人时,单击删除联系人菜单,提示用户是否删除,点击确定按钮,则从数据库中删除此条记录。

数据删除流程如图5所示:

图5数据删除流程图

3.3数据库设计

3.3.1SQLite数据库

本系统采用的是Android系统自带的SQLite数据库。

SQLite第一个Alpha版本诞生于2000年5月,轻型数据库,它的设计目标是嵌入式,占用资源非常小。

SQLite特点:

1.轻量级

SQLite和C/S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。

使用SQLite一般只需要带上它的一个动态库,就可以分享它的全部功能。

而且动态库的尺寸也相当小。

2.独立性。

SQLite数据库的核心引擎不依赖第三方软件,使用它也不需要“安装”。

所以在部署的使用能省去不少麻烦。

3.隔离性

SQLite数据库中所有的信息(比如表、视图、触发器等)都包含在一个文件内,方便管理和维护。

4.跨平台性

SQLite数据库支持大部分操作系统,除了我们在电脑上使用的操作系统之外。

很多手机操作系统童颜可以运行,比如Android、WindowsMobile、Symbin、Plam等。

5.多语言接口

SQLite数据库支持很多编程语言接口,比如C/C++、Java、Python、Ruby、Perl等,得到很多开发者的喜爱。

6.安全性

SQLite数据库通过数据库级上的独占性和共享锁实现独立事务处理。

这就意味着多个进程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。

在某个进程或线程向数据库执行写入操作之前,必须取得独占锁。

在发出独占锁后,其他的读或写操作将不会在发生。

4.3.2数据库表结构

创建数据库dbInstance.db,在数据库中创建表user,表user用来存储联系人数据,其中包括联系人姓名、手机号、家庭号、地址、邮箱、单位、职务、邮编、其他、备注。

表user详细结构如表1所示:

表1user表结构

序号

名称

编码

类型

宽度

是否主键

备注

1

编号

_id

integer

10

系统管理使用

2

用户名

username

text

50

3

手机号

mobilephone

text

50

4

家庭号码

familyphone

text

50

5

地址

address

text

50

6

邮箱

email

text

50

8

邮编

zipcode

text

50

9

单位

company

text

50

10

职务

position

text

50

11

其他

othercontact

text

50

12

备注

remark

text

50

第四章详细设计

4.1联系人浏览模块

进入手机通讯管理软件后,看到的第一个界面是联系人列表界面。

该列表是由ListView控件生成的,打开dbInstance.db数据库(如果数据库不存在则创建数据库,并创建数据表user),查找数据库中所有的联系人,并把联系人name和mobilephone这两项填充到ListView的adapter中。

每一行显示一个联系人的姓名和手机号码,联系人的显示的顺序是根据插入数据库的顺序显示的。

点击某个联系人会进入查看联系人界面,可以查看联系人的详细信息,对联系人进行编辑、删除、拨打电话、发送短信和发送email等。

联系人浏览界面如图6所示:

图6联系人浏览界面

点击MENU按钮时,就会显示主菜单项,其中包括:

增加、查找、删除、菜单和退出。

点击增加菜单,会进入添加联系人界面,可以输入联系人相关信息,完成联系人添加功能。

点击查找菜单,会进入联系人查找界面,可以进行联系人查找,搜索想要找的联系人或者手机号码。

长按联系人可以选中联系人,从而进行删除操作。

子菜单则包括显示所有、删除所有、备份、还原、关于和后退等功能。

点击退出菜单,则会退出该软件。

主菜单如图7所示:

图7主菜单项

4.2查看联系人模块

在联系人浏览界面点击某个联系人,则会跳转到该界面。

该界面使用TextView把从数据库中调出的联系人的详细信息显示出来,这里面包括联系人姓名、手机号、家庭电话、地址、电子邮箱、邮编、职务、单位、其他联系方式和备注。

在该Activity中添加了三菜单,其中包括:

修改、删除、返回。

各项数据默认为只可查看不可修改的状态,点击修改按钮,各项数据变为可修改状态,从而进行修改。

点击删除按钮,弹出提示对话框,是否删除该联系人,点击“是”则删除,否则,不进行删除。

点击返回,则返回联系人列表。

点击MENU按钮时,弹出发短信、打电话、发邮件三个按钮,分别可以实现对应的操作。

查看联系人界面如图8所示:

图8查看联系人界面

4.3修改联系人模块

编辑联系人界面使用EditView控件显示并修改联系人的详细信息。

联系人的所有信息,处于可编辑状态,手机号和座机号的EditView设定为只能输入数字。

修改完信息后点击确定按钮,触发确定按钮点击监听事件,从而对数据库中该联系人的信息进行更新,然后自动返回联系人浏览界面。

点击取消按钮会返回联系人浏览界面。

联系人编辑界面设置了返回列表菜单和删除联系人菜单。

点击删除联系人,则会从数据库中删除该联系人。

点击返回列表菜单,会返回到联系人浏览界面。

编辑联系人界面如图9所示:

图9编辑联系人界面

4.4查找联系人模块

查找界面顶部是一个TextView,下面依次是ListView和EditView。

TextView负责动态显示查找结果。

在EditView中输入联系人全名、名字中的一部分或者手机号码,就可以查找到包含相关联系人。

这里采用的查找方法是SQL模糊查询,可以只输入联系人姓名中的一部分,在sql语句中联系人姓名的前后添加“%”,即可查找到所有包含该部分的联系人,并在ListView中显示出来所有的联系人的姓名和手机号码。

在该功能的实现中对EditView控件注册了TextWatcher事件,当EditView中的输入改变时,会调用onTextChanged方法修改ListView的adapter,设置adapter显示模式,修改ListView中的所有的联系人,TestView中的查找结果也会随之修改,从而达到动态输入动态显示的效果。

点击某一联系人,会进入联系人查看界面,即可以查看联系人详细信息,编辑联系人,删除联系人,拨打电话,发送短信,发送邮件。

同时该界面也设置了返回列表菜单,可以返回到联系人浏览界面。

联系人查找模块的界面如图10所示:

图10搜索联系人界面

4.5增加联系人模块

4.5.1添加数据

在主界面单击Menu按钮弹出增加按钮,单击即可跳转到增加界面,在此页面完成对联系人各项数据的添加。

增加页面首先左边是一个ImageButton,用来显示用户头像,右边是EditText用以显示姓名,接下来则分别是TextView和EditText交替。

增加数据界面如图11所示:

 

图11增加联系人数据界面

4.5.2头像添加

在增加联系人界面单击左边头像即可对联系人头像进行更改。

首先定义Gallery组件,利用ImageAdapter类的构造方法获取Gallery组件信息。

imageChooseDialog对话框将图像显示出来。

添加头像界面如图12所示:

 

图12添加头像界面

4.6子菜单模块

1显示所有

将所有数据显示出来。

2删除所有

一次性删除全部的联系人数据。

3备份/还原数据

实现联系人数据的备份和还原,备份到SD卡中或者从SD卡还原到手机中。

4关于

关于本软件的信息。

5后退

返回到联系人列表。

子菜单个功能图组如下:

子菜单功能图组

第五章系统测试与调试

5.1程序调试

程序开发中难免会遇到各种问题,如语法的错误,程序设计的错误。

程序开发是一个循序渐进的过程。

开发完一个功能,需要及时的测试,待功能测试通过后,方可以进行下一个功能的开发,这样可以保证程序的质量。

在程序开发中,使用了打印调试信息,debug调试等方法。

5.2系统的测试

5.2.1测试的意义及目的

系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。

测试的目的就是希望能发现潜在的各种错误和缺陷。

应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行程序,以便发现错误。

5.2.2测试步骤

1.模块测试这个测试步骤中是为了发现编码和详细设计的错误。

2.系统测试这个测试步骤是为了发现软件设计中的错误。

3.验收测试这个测试步骤是为了发现系统需求说明书中的错误。

5.2.3测试的主要内容

为了保证测试的质量,测试过程包括:

代码审查、单元测试、集成测试、确认测试以及系统测试。

代码审查代码审查为了发现代码中冗余的部分,不合理的部分。

单元测试单元测试(模块测试)是编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。

通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。

1.集成测试

集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。

也就是说,在集成测试之前,单元测试已经完成,集成测试中所使用的对象是已经经过单元测试的软件单元。

如果不经过单元测试,集成测试的效果将会受到很大影响,并且会大幅增加软件单元代码纠错的代价。

2.确认测试

确认测试又称有效性测试。

有效性测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。

任务是验证软件的功能和性能及其他特性是否与需求一致。

对软件的功能和性能要求在软件需求规格说明书中已经明确规定,它包含的信息就是软件确认测试的基础。

3.系统测试

系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。

(1)功能测试

经测试:

该软件系统的添加联系人功能、查看联系人、编辑联系人、查找联系人、拨打电话、发送短息、导入导出功能皆正常。

软件的质量可以达到保证。

  

(2)健壮性测试

经测试:

该软件系统在异常情况下能正常运行的能力。

如:

直接退出,没有点退出菜单,程序数据不会受到破坏。

(3)性能测试

经测试:

该软件系统处理事务的速度快捷。

测试过程中运存占用平均为1.4MB左右。

正常该软件时,手机的耗电量并未明显增加。

  

(4)界面测试。

经测试:

该软件系统的易用性较强,可操作性强,界面视觉效果而等。

5.3测试数据

添加多条记录后,进行数据测试,测试结果如下表所示:

 

表2测试结果

功能模块

测试方法

测试结果

添加联系人

添加一条记录

正常

删除联系人

删除一条记录

正常

编辑联系人

修改联系人信息,保存

正常

查看联系人

查看一个联系人

正常

查找联系人

在查找界面,搜索联系人

正常

导入导出

导入导出到SD卡

正常

总结

在刘老师的指导下,经过设计和开发过程,终于顺利完成了学期项目。

从对Android系统开发毫不了解到完成毕业设计,从中学到了很多东西。

对一门新的开发领域,并没有想象的那么困难。

想要在短时间内投入到开发当中,需要花大量的时间去学习,动手编程。

我当初是买了一本书,照着上面一个一个练习,慢慢地掌握了Android开发中的各种控件的使用,理解了Android开发框架。

在开发当中遇到了很多困难,有些细节的问题搞不清楚,只好到网上查找答案,或者向同学求助。

经过努力这些问题都一一解决了。

这让我明白,遇见问题不要害怕,一步一步的分析问题,去解决它,遇到问题才是让人长经验的时候。

在设计的过程中充分考虑到了系统的易用性和可用性。

系统界面应设计的美观、友好、易于操作、功能健全。

系统的基本功能都已实现,而且添加了自己的特色,使这个系统与众不同。

这次期末设计是对自己的一个挑战。

完成期末设计,让我受益匪浅,我相信它会对我以后的人生和工作起到很好的促进作用。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2