基于Android的手机通讯录的设计与实现论文汇总.docx
《基于Android的手机通讯录的设计与实现论文汇总.docx》由会员分享,可在线阅读,更多相关《基于Android的手机通讯录的设计与实现论文汇总.docx(23页珍藏版)》请在冰豆网上搜索。
基于Android的手机通讯录的设计与实现论文汇总
武汉工程大学邮电与信息工程学院
毕业设计(论文)
基于Android的手机通讯录的设计与实现
DesignandImplementationofMobilePhoneContactsBasedonAndroid
学生姓名
学号
专业班级
指导教师
年月
作者声明
本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
如本毕业设计(论文)引起的法律结果完全由本人承担。
毕业设计(论文)成果归武汉工程大学邮电与信息工程学院所有。
特此声明。
作者专业:
作者学号:
作者签名:
____年___月___日
摘要
随着第四代通信技术4G(The4thGenerationMobileCommunicationTechnology)的推广,无线带宽和传输速度都得到了飞速的提升,手机已经成为人们日常生活中必不可少的一部分。
作为手机最基本的功能—通讯,通讯录便显得更加的重要。
手机通讯录本来是为了方便手机用户保存联系人信息,但是现在成百上千的联系人信息杂乱无章地显示,用户操作及其不便。
因此,很需要一款辅助性通讯录软件来解决这个问题。
本文基于Android操作系统,在介绍了通讯录整体结构和框架的基础上,遵循软件工程的设计思想,以Eclipse,Androidstudio等为开发工具,设计出一款手机通讯录。
本系统包括存储,删除,头像修改,打电话,发信息等功能,增加通讯录使用起来的方便性。
最后对程序进行优化完善、对界面进行设计,获得更好的用户体验。
关键词:
Android;手机通讯录;Java
Abstract
Withthe4Gpromotionoffourth-generationconmmunicationstechnology,wirelessbandwidthandtransmissionspeedhavebeenimprovedsignificantly.Atthesametime,withtheincreasingcontactneedbetweenpeople,mobilephoneisoneindispensableforpeoplelives.Asthebasicfunctionofmobilephone—communication,contactshasplayanimportantrole.However,hundredsofcommunicationsworehaphazarddisplayed,thousandsoftextmessagesandphonerecordswithoutinductionandtheprocessintheuseofoperationisextremelyinconvenient,difficulttomanagesuchinformation.Soitisurgenttodesignandimplementonesystemtohelpmanageourcontacts.
Basedonthebackgrounddiscussabove,thedissertationstartsfromtheAndroidsystemfeatures,andfocusesonthedesignandimplementationofthisContactInformationManagement(CIM)System.Thedesign,includingfunctionsodstorage,deletion,headrevision,phonecalls,messagessendingandotherfunctions,tomeetuserdemandforcontacts.Thedesignofthecontactsfollowsthestandarddevelopmentprocess,thefirstneedsanalysis,andthendeterminethefunctionofthecontacts,thenwritethecode,thedebugger,runtheprogram,andprocedurestooptimizethesound.Thissoftwareprovidesavarietyofcomponentstodesigntheinterface,cansupporttheuserexperience.
KeyWords:
Android;Contact;Java
第1章绪论
Android操作系统最初由AndyRubin开发,最初主要支持手机。
2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。
截至到目前为止,Android的主要竞争对手是苹果公司的iOS以及微软公司的WindowsPhone。
[1]
1.1课题研究背景
Android的崛起,使其更加广泛地被作为智能手机的操作系统。
在2012年2月,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。
[2]Android的成功,并不是什么巧合,Android所获得的成就,有2个重要方面:
1.Android是一款开放源码的操作系统;因此,人人都有可能成为Android的开发人员,这样使得Android的应用丰富多彩。
2.Android注重用户体验;用户体验的提高,使得操作变得更加的简单方便。
通讯录作为手机最基本的功能之一,但是手机上成百上千的联系人信息杂乱无章的显示着,给用户造成了很多的不便,大大降低了通讯录的可使用性。
因此,需要设计一款辅助软件来管理通讯录,提高通讯录的使用效率以及使用户更加方便地识别联系人。
本论文所设计与开发出的这款基于Android手机的通讯录,在保存联系人信息的基础上加入通讯录头像这样个性的功能,方便用户管理通讯录。
1.2本文主要工作
本文的研究工作是设计与实现一个Android平台下的通讯录系统。
论文将从Android系统特性入手,首先介绍了系统研发所使用的若干关键技术和原理,让读者能在技术层面上全面了解系统;接着,遵循软件工程的相关开发思想,围绕通讯录联系人模块,对系统实现方面进行介绍,包括需求分析、概要设计、具体功能设计等。
最后,实现通讯录在Android手机上的运行。
本课题研究的通讯录是基于Androidstudio开发环境的。
根据软件的架构,以及通讯录的设计方案;采用Java开源的JAR包对XML文件进行分析和获取图片和文字信息;对各个界面的布局和实现方式进行详细说明;对联系人信息中头像更换的实现方式进行了详细说明;响应Menu键的触发事件,设置底部菜单是否可见,并通过对底部菜单选项的监听实现底部菜单中的增加、查找、删除、菜单、退出等功能,其中菜单包括显示所有、删除所有、号码备份等功能。
第2章Android技术简介
Android这个名字对于人们已经不陌生了,大家都知道是手机上的安卓操作系统,但是它的由来很少有人知道。
Android这个词最早出现在美国科幻小说中,翻译过来的意思是“机器人”。
在2005年,从Google并购一家成立仅22个月的手机软件开发商—Android开始,在这之后Google又并购手机交友网站Dodgeball,开通ShortMessageService(SMS)短信搜寻功能,参与竞标700MHz通信频带的使用权。
直到2007年11月5日,Google发表AndroidSDK(SoftwareDevelopmentKit)软件开发组件之后,Android便开始走进了人们的生活。
[3]
2.1什么是Android
Android,中文翻译为“安卓”,是一款基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
它采用软件堆层(SoftwareStack,又名软件叠层)的架构,主要分为三部分:
底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机VirtualMachine,由C++开发。
最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分,不存在任何以往阻碍移动产业创新的专有权障碍。
[4]
对于设备制造商来说,Android是一个免费的平台。
对硬体开发厂商来说,Android是个开放的平台。
只要厂商有能力,可以在这个平台上自由加入特有的装置或功能,不受手机作业系统厂商的限制。
对于手持装置的开发者来说,Android是个先进的平台。
平台上的应用程式可相容于各种型号的Android手机,免去为各种不同手机机型开发的困扰。
Android平台支援各种先进的网络、绘图、3D处理能力,可以用来提供更好的使用者体验。
Android它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。
这使得越来越多的人关注这个操作系统。
对于这样的一个免费并且开放的手机开发平台,实现了开发商、硬件商和消费者之间的双赢。
Android的出现绝对是21世纪初期的一大绝响。
2.2Android系统架构
Android是以Linux为基础建构的手机操作系统,因此Android延续了嵌入式Linux系统的结构特点。
其系统架构包含了四个主要层次。
Android操作系统的底层是LinuxKernel,采用LinuxKernel2.6版,负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。
往上的第二层是Library(函数库)部分,由大多数开发源代码的函数库组成,例如标准的C函数库Libc、OpenSSL、SQLite等,网页函数库WebKit负责Android网页浏览器的运行,另外还有2DSGL/3DOpenGL图形与多媒体函数库分别支持各种影音与图形文字的播放,例如MPEG4、H.264、MP3、AAC、AMR、JPG和PNG等多媒体文件格式。
和第二层函数库并行的是AndroidRuntime,在此提供Android特有的Java内核函数库与可转换Java运行码Bytecode,为Android专属的DalvikExecutable(.dex)文件格式的Dalvik虚拟机器,可以通过Java语言编写Android应用程序,并在Android平台上同时运行多个Java应用程序。
第三层则是ApplicationFramework(应用软件架构),它是所有Android重点应用程序FrameworkAPI的总集合,主要的目的是让程序开发者可以方便地使用这些常用的应用程序进行设计架构,以便快速地开发Android应用程序,而这些常见的API有显示功能(如消息方块、条列消息、按钮、内嵌式浏览器等)、消息提供功能(如访问信息,分享信息)、资源管理(如图形、地方化字符串、布局文件等)、提示消息(主要用来显示警告消息,特别是当使用者操作错误时)等。
[5]
在Android系统架构的最上层则是Java应用程序,例如GoogleMaps、E-mail、即时通信工具、计算机、浏览器、通讯本、MP3播放器等应用程序。
如图2.1所示。
图2.1Android系统架构
2.3应用程序组件
对于一个Android应用程序来说,是由Activity、Service、BroadcastReceiver、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。
在应用程序中使用时,需要在配置文件AndroidMainfest.xml中进行配置。
这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。
1.Activity(活动)
Activity是构成应用程序中最重要的构造块,在Android应用程序中Activity主要负责的就是创建与用户进行交互的显示窗口,一个或多个Activity组成一个用户界面,你可以在这些窗口里通过调用setContentView(View)方法来显示你自己的用户界面,但是每个Activity都是独立的,并且继承Activity类。
活动(Activity)在系统中以活动栈的形式进行管理。
当一个新的活动启动后,被放到了栈顶,成为了运行活动,而新活动之前的活动在活动栈里总位于新活动之下,直到新的活动退出才重新回到前台。
[6]Activity生命周期如图2.2所示。
图2.2Activity生命周期图
2.Service(服务)
一个Service组件是运行在后台的一个进程,这个进程处理一个长时间的操作或者是一个远程调用。
一个Service不需要提供一个用户界面。
比如,一个Service可以在用户运行一个不同程序的同时在后台播放音乐,或者在不阻塞一个Activity的用户界面的同时获取网络数据。
因此相应的Activity会启动一个Service,当用户离开窗体后,Service继续保持歌曲的播放。
跟Activity以及其他组件一样,Services运行在应用程序的主线程。
因此他们不会阻塞其他的组件或者用户界面。
通常在服务中启用另外的线程来做耗时的工作。
3.Broadcastreceivers(广播接收者)
Broadcastreceiver是一个接收并处理广播通知的组件。
多数的广播是系统发起的,如地域变换、电池电量不足、图片获取、语言转换。
程序也可以初始化一个广播(即事件),例如告诉其他的程序某些数据已经下载。
程序可以拥有任意数量的broadcastreceiver来对应各种通知。
所有的receivers继承自BroadcastReceivcr类。
Broadcastreceiver没有界面显示,只负责监听、接收广播消息,然后根据程序逻辑,启动其他组件去处理广播消息。
它可以启动一个Activity来同用户交互。
4.Contentproviders(内容提供者)
Contentprovider用于创建应用程序使用的数据集。
数据可存在系统的SQLite数据库。
Contentprovider继承ContentProvider类,实现一组标准的方法,来便于应用程序存取数据。
但是,程序并不是直接调用这些方法,而是使用ContentResolver对象来调用这些方法。
ContentResolve的作用是管理provider和程序之间的多进程交互。
第3章需求分析
对通讯录中需要要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么,以及要达到什么样的效果。
从用户对软件的需求出发,系统分析软件的功能以及实现过程所需要做的所有工作,主要定义了手机通讯录管理工具的需求。
3.1课题总体目标
本课题将从用户使用角度出发,完成一个功能齐全、使用便捷、用户界面美观大方的手机通讯录应用系统。
为方便用户的管理,让联系人信息和头像一目了然;简化用户进行增加、删除、修改、查找操作;并且具备更改头像的功能;拥有美观、简洁、方便的通讯录主界面。
总体目标功能如下:
(1)查看功能:
显示出所有联系人数据中的姓名、电话号码和头像等详细信息。
(2)增加功能:
能快速、便捷地录入新数据,包括:
姓名、电话号码等。
(3)拨号功能:
选中某个名字时,屏幕显示出此人的电话号码中的各个数字。
(4)修改功能:
选中某个人的姓名时,可对此人的相应数据进行修改。
(5)删除功能:
选中某个人的姓名时,可对此人的相应数据进行删除。
(6)菜单功能:
采用文本菜单界面。
(7)查询功能:
能通过输入姓名或者电话号码查询此人的详细信息。
(8)备份功能:
复制保存手机上已经储存的联系人内容于SD卡上,以备还原。
(9)还原功能:
将备份好的信息还原到手机通讯录之中。
3.2功能需求分析
本文所设计的手机通讯录可以分成三个主要部分,如图3.1所示。
图3.1系统用例图
(1)主界面:
主界面包括显示已保存的联系人信息,以及显示底部的菜单框。
做到界面简洁大方,用户使用方便。
(2)增/删/改联系人信息:
包括组操作与联系人操作。
用户组的增加、删除、修改;联系人的增加、删除、修改、查询;增加联系人的功能是本论文的重点,并在其中加入了添加联系人头像的功能。
(3)备份/还原联系人信息:
对已保存的联系人信息进行备份保存,在联系人被误删和联系人信息资料丢失的时候进行还原。
确保本款通讯录软件的实用性。
3.3非功能需求分析
由于这是手机应用程序的开发,手机自身硬件的约束,真正要使产品具备竞争力,必须在性能等方面高人一等,这方面的要求如下:
(1)易操作:
操作界面简洁直观,符合普通人的操作习惯,使完成各功能所需要的步骤和流程大大的减少;
(2)运行流畅:
快捷的显示界面功能,最大限度的减少界面之间转换的停滞时间,提高列表获取和操作界面跳转的时间;
(3)良好的用户体验:
对用户的错误操作进行提醒和纠错;由于部分操作可能需要较长的执行时间,所以在进行这些操作的时候进行相应的提醒,增加用户使用友好度。
(4)系统资源消耗低:
合理的进行资源分配、回收、有效地利用系统资源,禁止死锁现象的发生;
减少软件运行错误:
软件在终端上运行时可能会有闪退现象,整理程序的顺序和程序中存在的错误,尽量避免闪退的发生。
第4章系统设计
一个好的系统设计决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间内按照设计者的要求高质量的完成程序必要的功能。
并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善等工作,使程序具有健壮性和可用性。
通过对通讯录功能、系统模块、用户需求方面进行全方位的分析制定开发流程,开发流程如图4.1所示。
图4.1开发流程图
4.1功能模块的划分
图4.2系统功能模块划分
图4.2是整个系统的功能划分图,其功能主要包括以下几方面内容:
1.增加、删除、编辑联系人
点击通信录功能界面中的增加按钮,进入增加联系人界面。
输入联系人的基本信息,并可根据用户需求增加个性化信息如头像、姓名、手机号码、办公室电话、家庭电话、职务职称、单位名称、地址、Email这些信息,单击确认返回主界面。
点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改联系人的资料或进行删除联系人操作,完成后退回到主界面。
对列表中联系人的标记,点击Menu键弹出功能界面上的删除按键也可进行删除。
还可以在菜单上选择删除全部联系人来清空通讯录。
在删除联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则联系人信息将继续保存。
2.查找联系人
用户点击Menu键打开底部菜单框,底部菜单框为查询联系人提供入口,进入通讯录的缺省页面为联系人列表,在列表中看到所有联系人的姓名、电话信息排列,用户点击查找按键输入联系人基本信息,通讯录显示所有符合查询条件的联系人列表,用户选择一个联系人进入联系人基本信息页面进行其他操作;查询完成,用户按返回键返回主界面。
3.通讯功能
用户在通讯录选择联系人进入联系人详细信息界面,这时点击Menu键打开通信功能框,选择打电话、发信息还是发邮件的功能进行操作。
4.菜单功能
通过对Menu按键的点击,显示底部菜单框,包含有增加、查找、删除、菜单、返回功能,菜单按键则包含显示所有、删除所有、备份SD卡等实用功能。
通过对系统的功能结构的分析,设计后系统运行流程是系统运行后用户将进入通讯录主界面,可以看到联系人列表。
通过点击MENU界面的增加功能选项可以新增联系人,通过查找按钮可以对联系人进行姓名、号码的操作,通过选择联系人并点击删除键可以对联系人进行删除操作,通过菜单功能可以显示所有联系人、删除所有联系人、并备份SD卡功能。
在联系人详细信息界面点击Menu键弹出通讯功能框选择拨打电话按钮或者发信息发邮件按键。
系统的运行流程图如4.3所示。
图4.3系统运行流程
4.2文本信息管理
本系统为了实现文本管理功能,需要建立文本信息表database,文本信息表database中需要包含的属性有id,name,mobilephone,officephone,familyphone,address,email,company,imageid,文本信息表database如表4.1所示:
表4.1文本信息表database
属性
数据类型
说明
id
Integer
自动增加的主键
Name
Integer
姓名
Mobilephone
String
手机号
Officephone
String
办公室号
Familyphone
String
家庭号码
Address
String
地址
Email
String
邮箱
Company
String
公司名称
Imageid
Integer
图片号
程序中将建立的名为”User”的数据库所包含的信息和文本信息表中所记录的消息一致。
第5章通讯录实现
5.1Android开发平台搭建
Android的开发平台现在有两种:
一种是在Eclipse上加载AndroidSDK,然户再安装ADT。
虽然这种开发的方法依旧是主流,但是过程常常出现错误,不是十分方便;第二种则是Google新推出的Androidstudio开发软件,这种软件十分方便,不必加载AndroidSDK也不用单独安装ADT,安装完成后即可开发。
本文将采用Androidstudio工具进行开发设计。
可以从Google的Android的开发官网下载最新的Androidstudio,网址如下:
5.2具体功能实现
打开Androidstudio软件,新建一个AndroidApplicationProject,进行一些基本设置之后就在页面左侧出现了新建好的工程。
如图5.1。
图5.1工程列表
其中src是用于存放所有的*.java文件;gen:
为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID;res下有个子目录layout是存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置。
5.2.1增加联系人功能
增加联系人的界面是通讯录的关键界面,目的在于方便用户储存联系人的一些相关信息。
在增加联系人的相关信息中将会包括联系人头像,联系人姓名、手机号、办