ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:106.56KB ,
资源ID:10480086      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10480086.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Android的手机通讯录设计书.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Android的手机通讯录设计书.docx

1、基于Android的手机通讯录设计书武汉交通职业技术学院课程设计报告课程名称:_系 别: 专业班级: 小组成员: 指导教师: 评阅成绩: 基于Andriod环境的通讯录系统设计1系统描述 问题描述学习完计算机相关专业课后,对计算机软硬件相关知识有了一定的了解;基于此,设计与实现一个在Android系统上运行的手机通讯管理软件,实现手机通讯录的基本功能,包括:添加联系人、查看联系人、修改联系人、删除联系人、拨打电话、发送短信、查询联系人,以及联系人的导入导出功能即联系人的备份。主要开发基于Android 的手机的通讯管理软件。以Java语言为基础,结合Android移动开发平台,并利用Andro

2、id提供的SDK,实现在Android平台上运行的手机通讯录,方便广大手机用户更加便捷地对联系人的信息进行管理。该手机通讯录面向所有的Android手机用户,为他们提供更实际便捷的手机服务,具有拨号、通讯记录等基本功能。该通讯录的数据导出功能是该软件的一个特色,可以实现联系人数据导出到文本,实现数据备份。大家生活当中经常遇到手机丢失,出现故障,和其他一些事故。最担心的就是丢失手机里的电话号码。 功能描述此次设计的软件主要功能有:1 添加联系人:可以添加联系人的基本信息,如:姓名、电话、单位、住址等信息;2 查看信息:查看某个联系人的具体信息;3 查询联系人:根据输入的条件查询联系人;4 修改联

3、系人的信息;5 数据备份与还原:可以将整个通讯录备份到SD卡上,以防止信息丢失、抑可将备份的数据还原到通讯录中; 数据需求本程序的数据为通讯录中的联系人信息,这些信息有用户输入,并保存在Android的SQLite数据库中,主要有:联系人的姓名、手机、家庭电话、公司电话、单位、家庭地址、电子邮件、备注等信息。 设计意义随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。手机通讯录作为手机的基本功能之

4、一,每天我们都在频繁地使用着。根据手机功能使用调查显示,有八成以上的消费者使用手机通讯录功能。随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展4。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层人士的喜爱。2.组员分工尹煜:UI界面设计,数据类设计。余迪:Main(Activ

5、ity)设计,AddNew(Activity)设计。王荔:UserDetail(Activity)设计,MainPrivacy(Activity)设计。3.需求分析 前期调研通过对已有的手机通讯录的研究,对其基本业务流程进行分析,确定出基本的处理需求:用户的行为:增、删、改、查、备份与还原。 增:增加联系人的基本信息; 删:删除已有联系人的基本信息; 改:修改已有联系人的信息; 查:查询联系人的基本信息; 备份与还原:备份该通讯录数据库中的数据到SD卡上,或者从SD卡上还原备份的数据。 数据流图根据“功能分解,逐步求精”的原则,此次需求分析的数据流图主要分为三层:顶层数据流图:确定系统的输入与

6、输出、第一层数据流图:对系统进行第一层功能分解,确定系统的主要工作、第二层数据流图:确定系统详细的工作流图顶层数据流图:底层数据流图: 数据字典数据流图表达了数据和处理的关系,数据字典则是系统中的各类数据描述的集合,是进行详细的数据手机和数据分析做得到的主要成果,可以自己设计一套适合阅读的图表。本设计的数据字典有:联系人的信息,具体如下:4系统设计 总体设计Android手机通讯管理软件主要功能模块包括:联系人添加、联系人查看、联系人编辑、联系人删除、联系人查找、呼叫、发送短信、数据备份与还原、个人空间等,如图5-1所示:图5-1 总体设计图 数据库表结构 实体根据需求分析的数据流图,对其进行

7、自底向上的分析。抽象出设计视图,集成局部视图,得到全局的概念结构。本数据库的实体为:联系人信息(头像 ,姓名,手机号码,办公室号码,家庭电话,职务职称,单位名称,地址,邮编,Email,其他联系方式,备注) 系统E-R图根据E-R的设计过程,根据初始数据流图设计初始的E-R图,而后将各分E-R图集成,消除冲突、消除冗余,得到最初的E-R图,对其进行分析和根据规范化理论进行规范化,集成视图,最后形成基本的E-R图。其过程如图所示: 联系人实体E-R图图5-2 联系人信息实体E-R图 数据库表设计根据上述联系人实体E-R图,设计出数据库的表,如表5-1所示,表5-1 user表的设计字段名数据类型

8、是否为空约束条件备注_idint非空主键自动增量nameText非空mobilephoneText可以为空officephoneTextfamilyphoneTextaddressTextothercontactTextemailTextpositionTextcompanyTextzipcodeTextremark Textimageidintprivacyint隐私用户1普通用户0 输入/输出设计在这个系统中,通过对系统的分析,可以识别出参与者:用户。对于用户而言,通讯录上按钮、菜单、输入框是用户向系统输入的操作请求的输入设备,GUI与是用于向用户输出信息的输出设备。图5-3 通讯录的参与

9、者事件是来自人操作的重要的消息,表5-2给出了通讯录系统中可能发生的所有事件。表5-2 系统响应及其执行结果事 件系统响应执行结果1从手机屏幕点击软件系统调用函数入口,启动系统,进入该软件进入该软件,显示联系人列表2点击Menu,选择添加联系人调用添加函数进入添加界面3点击其中一个联系人调用查看/修改某个联系人函数进入联系人详细界面4在联系人详细界面点击Menu,可对联系人进行发送短信调用系统发送短信函数进入发送短信界面5在联系人详细界面点击Menu,可对联系人进行拨打电话调用系统拨打电话函数进入呼叫联系人界面6在联系人详细界面点击Menu,可对联系人进行修改调用修改函数修改联系人信息7在联系

10、人详细界面点击Menu,可对联系人进行删除调用删除函数调用删除函数8在联系人列表界面点击Menu,选择查找调用查找联系人函数显示用户查找结果9在联系人列表界面点击Menu,选择退出调用退出函数退出通讯录软件10在联系人列表界面点击Menu,选择菜单调用菜单函数先是菜单界面11在菜单界面选择显示所有人信息调用显示函数显示所有人信息12在菜单界面选择删除所有人信息调用删除函数删除所有人信息13在菜单界面选择备份所有人信息调用备份函数备份信息到SD卡14在菜单界面选择还原所有人信息调用还原函数进入还原界面,还原信息到数据库15在菜单界面选择个人空间调用私人空间类进入私人界面其中的输入包括:用户选择的

11、上述按钮、菜单,还包括输入框的内容,包括:联系人头像、联系人姓名、手机号、家庭电话、单位电话、单位名、职位、住址、邮编、备注等信息。其中输出包括:根据用户的选择输出的相应内容,如:联系人列表显示信息、联系人详细信息等。 处理过程设计 业务流程图用户进入手机通讯管理软件后,会看到联系人列表界面。联系人列表界面主菜单中包括:添加、搜索、删除、菜单、退出;其中菜单又包括:显示所有联系人、删除所有联系人、备份信息到SD卡、还原数据到通讯录、个人空间、退出。点击添加联系人,则进入联系人添加界面,添加成功后返回联系人列表界面。点击搜索菜单,则进入联系人搜索界面,输入联系人的全名或一个字,即可查找到相关联系

12、人,点击联系人会进入联系人查看界面,可以对联系人进行编辑、删除、拨打电话、发送短信,长按某分联系人,可以选中该联系人,点击删除,会删除已经标记的联系人。点击菜单,可进入菜单界面:点击所有联系人,可以显示所有人信息、点击删除所有联系人,可以删除所有人信息、点击备份信息到SD卡,可以将数据库数据备份到SD卡、点击还原数据到通讯录,可以从SD卡上备份的数据还原到数据库、点击个人空间,输入密码并进入个人操作界面、点击退出,退出到主界面。该软件的业务流程如图5-4所示:图5-4 系统业务流程图 系统Activity设计根据Android的Activity设计原则,设计出整个系统的界面,如图5-5所示:图

13、5-5 系统Activity设计图 功能处理设计1.浏览联系人1用例名称:浏览联系人2用例描述:浏览联系人列表3角色:手机用户4前置条件:通讯录中已有联系人5后置条件:显示出所有联系人6基本路径A.打开通讯录B.系统查询数据库C.显示出联系人列表2.查看联系人1用例名称:查看联系人2用例描述:查看联系人信息3角色:手机用户4前置条件:通讯录中已有联系人5后置条件:给出联系人信息6基本路径 A.查看联系人信息 B.给出相关信息3.编辑联系人1用例名称:编辑联系人2用例描述:编辑联系人信息3角色:手机用户4前置条件:通讯录中已有联系人5后置条件:修改联系人信息6基本路径 A.输入要修改的新信息 B

14、.修改联系人信息4.删除联系人1用例名称:删除联系人2用例描述:删除联系人3角色:手机用户4前置条件:通讯录中已有联系人5后置条件:删除联系人6基本路径 A.选中联系人,选择删除操做 B.询问是否确定删除操作 C.删除联系人上述三种业务操作的流程图图5-6 查看/修改/删除流程图5.查询联系人1用例名称:查询联系人2用例描述:查询联系人信息3角色:手机用户4前置条件:通讯录中已有联系人5后置条件:给出联系人信息6基本路径 A.输入查找的数据 B.查询列表根据数据动态现实出信息点击Menu菜单,选择查找联系人跳转SearchContactActivity,在查找联系人界面中,TextView被监

15、听,根据TextView输入的数据,进行查询后在List中显示。图5-7 查询联系人流程图6.菜单操作1用例名称:菜单操作2用例描述:选择菜单功能3角色:手机用户4前置条件:单击菜单按钮5后置条件:进入菜单界面6基本路径 A.单击菜单按钮 B.选择菜单的功能 图5-8 菜单操作流程图 系统界面设计本系统一共有11个页面文件,主要的界面如下:文件,如图5-9所示,显示已经存储的联系人数据数据:图5-9 系统主界面文件,如图5-10所示,显示添加联系人的选项,完成联系人的添加:图5-10 添加联系人界面 显示弹出的主菜单的对话图5-11 主菜单界面5.详细设计完成上述的操作后,便是进行代码的编写和

16、调试,使用Java语言和Android API进行程序设计。 开发环境开发软件:Eclipse 、Android SDK 、ADT 开发环境:Windows7虚拟设备:Android AVD 开发版本:Android 程序设计 数据类设计用户User类如图6-1所示,主要用于暂存页面获得的信息,然后再存入数据库中。图6-1 User类DBhelper类如图6-2所示,主要完成数据库的表的创建和数据的添加删除以及备份的功能,以下是各个具体的函数和变量。图6-2 DBhelper类insert(User)函数实现:完成数据的插入,并根据插入是否成功,返回一个长整型的值getAllUser(bool

17、ean)的实现:完成数据的显示,使用() 方法,利用cursor对象,一一取出字段的值,放入一个hasp表中,最后存入数组列表中,返回给数组列表。modify(User )函数的实现:使用user类中的字段,更新数据库delete(int)函数的实现:根据数据的id进行单个数据的删除deleteAll(int )函数的实现:删除所有数据getTotalCount() 函数的实现:使用cursor对象getint()方法得到数据的个数getUsers(String boolean) 函数的实现:完成数据的查找,使用SQL语句中的模糊查找,然后放入数组列表,进行返回。deleteMarked(Ar

18、rayList)函数的实现:删除被标记多个数据的数据,backupData(boolean)函数的实现:新建一个字符串,把当前所有数据的值写成一个insert 语句存入字符串中,以便备份的时候能够插入到数据库中saveDataToFile(string,boolean)函数的实现:把插入字符串写到zpcontacData下的文件中public void backupData(boolean privacy) StringBuffer sqlBackup = new StringBuffer();Cursor cursor = null;if(privacy) cursor = (DB_TABL

19、ENAME, new String_id,name,mobilephone,officephone,familyphone,address,othercontact,email,position,company,zipcode,remark,imageid,privacy, privacy=1, null, null, null, null); else cursor = (DB_TABLENAME, new String_id,name,mobilephone,officephone,familyphone,address,othercontact,email,position,compan

20、y,zipcode,remark,imageid,privacy, privacy=0,null, null, null, null);while() (insert into + DB_TABLENAME + (name,mobilephone,officephone,familyphone,address,othercontact,email,position,company,zipcode,remark,imageid,privacy).append( values ().append(name).append(,).append(mobilephone).append(,).appen

21、d(officephone).append(,).append(familyphone).append(,).append(address).append(,).append(othercontact).append(,).append(email).append(,).append(position).append(,).append(company).append(,).append(zipcode).append(,).append(remark).append(,).append(imageid).append(,).append(privacy).append();).append(

22、n);saveDataToFile(),privacy);restoreData(string)函数的实现:载入备份文件,读出插入字符串,写到数据库中,完成备份findFile(string)函数的实现:判断文件是否存在,能否备份 MyDBHleper类:继承于SQLiteOpenHelper,主要有俩个函数,onCreate()和onUpgrade()onCreate()函数主要用于数据库中表的创建。onUpgrade()函数主要用于数据库的版本不对应,重新创建表。 Main(Activity)设计如图6-3所示,显示了 Main(Activity)涉及的变量以及调用和重写的函数:图6-3

23、Main(Activity)onCreate(Bundle) 为主函数,创建ListView对象,将数据与adapter集合起来,显示给用户看,然后响应ListView的点击事件,跳转用户详细信息页面。onActivityResult()函数的实现:此函数主要是判断是从那些页面跳转到主页面,并刷新主页面onKeyDown(int KeyEvent)的函数实现:响应点击Menu按钮时的事件,用于设置底部菜单是否可见loadBottomMenu() 函数的实现:主菜单的点击事件的响应,实现各种功能模块getMenuAdapter(string) 函数的实现:将图片和文字设置在一个集合中,组成一个菜

24、单 AddNew(Activity)设计如图6-4所示,AddNew(Activity)用到的变量以及函数图6-4 AddNew(Activity)onCreate()函数的实现:实现头像的选择,数据的填写。loadImage() 函数实现:使用gallery控件和imageswith实现头像的加载和选择ImageAdapter类的实现自定义头像适配器public View makeView() ImageView view = new ImageView(this); (0xff000000); ; (new (90,90); return view; initImageChooseDial

25、og()函数实现:完成图像的选择对话框 UserDetail(Activity)设计函数基本同AddNew(Activity),增加了修改按钮的点击事件和删除按钮的点击事件。增加的函数有:loadUserData():获得控件,为控件赋值setEditTextAble():把页面中的控件可修改setColorToBlack()设置显示的字体颜色为黑色setColorToWhite()设置显示的字体颜色为白色setEditTextDisable()把设置控件不可修改private void modify() 数据更新函数 delete() 数据删除函数onCreateOptionsMenu(Me

26、nu)的实现:通讯菜单的实现,完成联系人的打电话,发短信,发邮件功能 MainPrivacy(Activity)设计如图6-5所示,MainPrivacy(Activity)涉及到的变量以及函数图6-5 MainPrivacy(Activity)类图用到的函数:onCreate();onActivityResult();onKeyDown(int, KeyEvent);loadBottomMenu();loadMainMenuDialog();loadSearchLinearout();getMenuAdapter(String, int);onDestroy();函数与Main(Activi

27、ty)的函数相同,不再赘述。图7-1 添加联系人测试图6设计总结 设计特点学习完计算机等相关专业课程后,对计算机软硬件知识有了一定的认识和了解,特别是学习完高级语言程序设计、Java语言程序设计,数据库导论、操作系统、软工程等专业课,对计算机软件开发有了一定了解。而课程设计便是对学习效果的检验。课程设计不仅可以锻炼我们独立思考问题、解决问题的能力,而且可以培养我们的整体性思维的能力;通过课程设计,加深了对程序设计、数据库设计、操作系统、软件工程等知识的认识。利用android的组件和自带数据库Sqlite实现了一个基于Android系统的通讯录软件,基本实现了需要的功能,达到了预期的目的。完成

28、本系统,。首先要熟悉所用到的Android的组件,Android系统为我们提供了很多的组件的函数,如何正确使用这些函数,正确使用参数,并且加入自己的函数,实现自己的功能,这是一个考验。在数据库方面,使用系统自带的数据库,只要在程序中调用继承于SQLiteOpenHelper 的MyDBhelper数据库帮助类完成表的建立,然后根据具体的要求,自己编写数据库的添加,删除,更新等操作。页面之间值传递问题,只要使用Android的传信员-intent,在跳转之前,新建一个intent,利用();放入传递的数据,在新页面调用()获得传递的数据。页面之间跳转,通过onActivityResult()判断

29、是从哪个页面返回主页面。出色的地方本次课程设计,刚开始看到课程设计题目时,感觉难度不是很大,因为Android对我是一个全心的东西,但是当我细想时,它是基于java语言的,而且网络资源丰富,在一定程度上坚定了我的信息,最终设计出这款通讯录软件。在设计的过程中充分考虑到了系统的易用性和可用性。系统界面应设计的美观、友好、易于操作、功能健全。系统的基本功能都已实现,而且添加了自己的特色(数据导入导出功能),使这个系统与众不同。设此款通讯录软件包含了基本的通讯录的功能:增、删、改、查,并且还加入了头像选择、个人空间、数据备份与还原、支持模糊查询、支持选择单个和多个联系人等特色功能!不足的地方程序设计的风格上还有待完善,缺少注释,是程序对别人难以阅读和理解,也不便于调试与完善。查询功能还有待完善,虽然

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1