1、因此,很需要一款辅助性通讯录软件来解决这个问题。本文基于Android操作系统,在介绍了通讯录整体结构和框架的基础上,遵循软件工程的设计思想,以Eclipse,Android studio等为开发工具,设计出一款手机通讯录。本系统包括存储,删除,头像修改,打电话,发信息等功能,增加通讯录使用起来的方便性。最后对程序进行优化完善、对界面进行设计,获得更好的用户体验。关键词:Android;手机通讯录;JavaAbstractWith the 4G promotion of fourth-generation conmmunications technology, wireless bandwid
2、th and transmission speed have been improved significantly.At the same time, with the increasing contact need between people, mobile phone is one indispensable for people lives. As the basic function of mobile phone communication, contacts has play an important role. However,hundreds of communicatio
3、ns wore haphazard displayed,thousands of text messages and phone records without induction and the process in the use of operation is extremely inconvenient,difficult to manage such information. So it is urgent to design and implement one system to help manage our contactsBased on the background dis
4、cuss above,the dissertation starts from the Android system features,and focuses on the design and implementation of this Contact Information Management(CIM)SystemThe design, including functions od storage, deletion, head revision, phone calls, messages sending and other functions, to meet user deman
5、d for contacts. The design of the contacts follows the standard development process, the first needs analysis, and then determine the function of the contacts, then write the code, the debugger, run the program, and procedures to optimize the sound. This software provides a variety of components to
6、design the interface, can support the user experience.Key Words: Android; Contact; Java第1章 绪论Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。截至到目前为止,Android的主要竞争对手是苹果公司的iOS以及微软公司的Windows Phone。11.1 课题研究背景Android的崛起,使其更加广泛地被作为智能手机的操作系统。在2012年2月,Android占据全球智能手机操作系统市场
7、52.5%的份额,中国市场占有率为68.4%。2Android的成功,并不是什么巧合,Android所获得的成就,有2个重要方面:1.Android是一款开放源码的操作系统;因此,人人都有可能成为Android的开发人员,这样使得Android的应用丰富多彩。2.Android注重用户体验;用户体验的提高,使得操作变得更加的简单方便。通讯录作为手机最基本的功能之一,但是手机上成百上千的联系人信息杂乱无章的显示着,给用户造成了很多的不便,大大降低了通讯录的可使用性。因此,需要设计一款辅助软件来管理通讯录,提高通讯录的使用效率以及使用户更加方便地识别联系人。本论文所设计与开发出的这款基于Andro
8、id手机的通讯录,在保存联系人信息的基础上加入通讯录头像这样个性的功能,方便用户管理通讯录。1.2 本文主要工作本文的研究工作是设计与实现一个Android平台下的通讯录系统。论文将从Android系统特性入手,首先介绍了系统研发所使用的若干关键技术和原理,让读者能在技术层面上全面了解系统;接着,遵循软件工程的相关开发思想,围绕通讯录联系人模块,对系统实现方面进行介绍,包括需求分析、概要设计、具体功能设计等。最后,实现通讯录在Android手机上的运行。本课题研究的通讯录是基于Android studio开发环境的。根据软件的架构,以及通讯录的设计方案;采用Java开源的JAR包对XML文件进
9、行分析和获取图片和文字信息;对各个界面的布局和实现方式进行详细说明;对联系人信息中头像更换的实现方式进行了详细说明;响应Menu键的触发事件,设置底部菜单是否可见,并通过对底部菜单选项的监听实现底部菜单中的增加、查找、删除、菜单、退出等功能,其中菜单包括显示所有、删除所有、号码备份等功能。第2章 Android技术简介Android这个名字对于人们已经不陌生了,大家都知道是手机上的安卓操作系统,但是它的由来很少有人知道。Android这个词最早出现在美国科幻小说中,翻译过来的意思是“机器人”。在2005年,从Google并购一家成立仅22个月的手机软件开发商Android开始,在这之后Goog
10、le又并购手机交友网站Dodgeball,开通Short Message Service(SMS)短信搜寻功能,参与竞标700MHz通信频带的使用权。直到2007年11月5日,Google发表Android SDK (Software Development Kit)软件开发组件之后,Android便开始走进了人们的生活。32.1 什么是AndroidAndroid,中文翻译为“安卓”,是一款基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。它采用软件堆层(Software Stack,又名软件叠层
11、)的架构,主要分为三部分:底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C+开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分,不存在任何以往阻碍移动产业创新的专有权障碍。4对于设备制造商来说,Android是一个免费的平台。对硬体开发厂商来说,Android是个开放的平台。只要厂商有能力,可以在这个平台上自由加入特有的装置或功能,不受手机作业系统厂商的限制。对于手持装置的开发者来说,Android是个先进的平台。平台上的应用程式可相容于各种型号
12、的Android 手机,免去为各种不同手机机型开发的困扰。Android平台支援各种先进的网络、绘图、3D 处理能力,可以用来提供更好的使用者体验。Android它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。对于这样的一个免费并且开放的手机开发平台,实现了开发商、硬件商和消费者之间的双赢。Android的出现绝对是21世纪初期的一大绝响。2.2 Android系统架构Android是以Linux为基础建构的手机操作系统,因此Android延续了嵌入式Linux系统的结构特点。其系统架构包含了四个主要层次
13、。Android操作系统的底层是Linux Kernel,采用Linux Kernel 2.6版,负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。往上的第二层是Library(函数库)部分,由大多数开发源代码的函数库组成,例如标准的C函数库Libc、OpenSSL、SQLite等,网页函数库WebKit负责Android网页浏览器的运行,另外还有2D SGL/3D OpenGL图形与多媒体函数库分别支持各种影音与图形文字的播放,例如MPEG4、H.264、MP3、AAC、AMR、JPG和PNG等多媒体文件格式。和第二层函数库并行的是Android Runtime,在此提供Andro
14、id特有的Java内核函数库与可转换Java运行码Bytecode,为Android专属的Dalvik Executable(.dex)文件格式的Dalvik虚拟机器,可以通过Java语言编写Android应用程序,并在Android平台上同时运行多个Java应用程序。第三层则是Application Framework(应用软件架构),它是所有Android重点应用程序Framework API的总集合,主要的目的是让程序开发者可以方便地使用这些常用的应用程序进行设计架构,以便快速地开发Android应用程序,而这些常见的API有显示功能(如消息方块、条列消息、按钮、内嵌式浏览器等)、消息提
15、供功能(如访问信息,分享信息)、资源管理(如图形、地方化字符串、布局文件等)、提示消息(主要用来显示警告消息,特别是当使用者操作错误时)等。5在Android系统架构的最上层则是Java应用程序,例如Google Maps、E-mail、即时通信工具、计算机、浏览器、通讯本、MP3播放器等应用程序。如图2.1所示。图2.1 Android系统架构2.3 应用程序组件对于一个Android应用程序来说,是由Activity、Service、Broadcast Receiver、Content Provider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时
16、,需要在配置文件AndroidMainfest.xml中进行配置。这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。1. Activity(活动)Activity是构成应用程序中最重要的构造块, 在Android应用程序中Activity主要负责的就是创建与用户进行交互的显示窗口,一个或多个Activity组成一个用户界面,你可以在这些窗口里通过调用setContentView(View)方法来显示你自己的用户界面,但是每个Activity都是独立的,并且继承Activity类。活动(Activity)在系统中以活动栈的形式进行管理。当一个新的
17、活动启动后,被放到了栈顶,成为了运行活动,而新活动之前的活动在活动栈里总位于新活动之下,直到新的活动退出才重新回到前台。6Activity生命周期如图2.2所示。图2.2 Activity生命周期图2. Service(服务)一个Service组件是运行在后台的一个进程,这个进程处理一个长时间的操作或者是一个远程调用。一个Service不需要提供一个用户界面。比如,一个Service可以在用户运行一个不同程序的同时在后台播放音乐,或者在不阻塞一个Activity的用户界面的同时获取网络数据。因此相应的Activity会启动一个Service,当用户离开窗体后,Service继续保持歌曲的播放。
18、跟Activity以及其他组件一样,Services运行在应用程序的主线程。因此他们不会阻塞其他的组件或者用户界面。通常在服务中启用另外的线程来做耗时的工作。3. Broadcast receivers(广播接收者)Broadcast receiver是一个接收并处理广播通知的组件。多数的广播是系统发起的,如地域变换、电池电量不足、图片获取、语言转换。程序也可以初始化一个广播(即事件),例如告诉其他的程序某些数据已经下载。程序可以拥有任意数量的broadcast receiver来对应各种通知。所有的receivers继承自BroadcastReceivcr类。Broadcast receiv
19、er没有界面显示,只负责监听、接收广播消息,然后根据程序逻辑,启动其他组件去处理广播消息。它可以启动一个Activity来同用户交互。4. Content providers(内容提供者)Content provider用于创建应用程序使用的数据集。数据可存在系统的SQLite数据库。Content provider继承ContentProvider类,实现一组标准的方法,来便于应用程序存取数据。但是,程序并不是直接调用这些方法,而是使用ContentResolver对象来调用这些方法。ContentResolve的作用是管理provider和程序之间的多进程交互。第3章 需求分析对通讯录中需
20、要要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么,以及要达到什么样的效果。从用户对软件的需求出发,系统分析软件的功能以及实现过程所需要做的所有工作,主要定义了手机通讯录管理工具的需求。3.1 课题总体目标本课题将从用户使用角度出发,完成一个功能齐全、使用便捷、用户界面美观大方的手机通讯录应用系统。为方便用户的管理,让联系人信息和头像一目了然;简化用户进行增加、删除、修改、查找操作;并且具备更改头像的功能;拥有美观、简洁、方便的通讯录主界面。总体目标功能如下:(1) 查看功能:显示出所有联系人数据中的姓名、电话号码和头像等详细信息。(2) 增加
21、功能:能快速、便捷地录入新数据,包括:姓名、电话号码等。(3) 拨号功能:选中某个名字时,屏幕显示出此人的电话号码中的各个数字。(4) 修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。(5) 删除功能:选中某个人的姓名时,可对此人的相应数据进行删除。(6) 菜单功能:采用文本菜单界面。(7) 查询功能:能通过输入姓名或者电话号码查询此人的详细信息。(8) 备份功能:复制保存手机上已经储存的联系人内容于SD卡上,以备还原。(9) 还原功能:将备份好的信息还原到手机通讯录之中。3.2 功能需求分析本文所设计的手机通讯录可以分成三个主要部分,如图3.1所示。图3.1 系统用例图(1) 主界
22、面:主界面包括显示已保存的联系人信息,以及显示底部的菜单框。做到界面简洁大方,用户使用方便。(2) 增/删/改联系人信息:包括组操作与联系人操作。用户组的增加、删除、修改;联系人的增加、删除、修改、查询;增加联系人的功能是本论文的重点,并在其中加入了添加联系人头像的功能。(3) 备份/还原联系人信息:对已保存的联系人信息进行备份保存,在联系人被误删和联系人信息资料丢失的时候进行还原。确保本款通讯录软件的实用性。3.3 非功能需求分析由于这是手机应用程序的开发,手机自身硬件的约束,真正要使产品具备竞争力,必须在性能等方面高人一等,这方面的要求如下:(1) 易操作:操作界面简洁直观,符合普通人的操
23、作习惯,使完成各功能所需要的步骤和流程大大的减少;(2) 运行流畅:快捷的显示界面功能,最大限度的减少界面之间转换的停滞时间,提高列表获取和操作界面跳转的时间;(3) 良好的用户体验:对用户的错误操作进行提醒和纠错;由于部分操作可能需要较长的执行时间,所以在进行这些操作的时候进行相应的提醒,增加用户使用友好度。(4) 系统资源消耗低:合理的进行资源分配、回收、有效地利用系统资源,禁止死锁现象的发生;减少软件运行错误:软件在终端上运行时可能会有闪退现象,整理程序的顺序和程序中存在的错误,尽量避免闪退的发生。第4章 系统设计一个好的系统设计决定了程序是否能按照设计者的目的按时完成,是否能在规定的时
24、间内按照设计者的要求高质量的完成程序必要的功能。并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善等工作,使程序具有健壮性和可用性。通过对通讯录功能、系统模块、用户需求方面进行全方位的分析制定开发流程,开发流程如图4.1所示。图4.1 开发流程图4.1 功能模块的划分图4.2 系统功能模块划分图4.2是整个系统的功能划分图,其功能主要包括以下几方面内容:1. 增加、删除、编辑联系人点击通信录功能界面中的增加按钮,进入增加联系人界面。输入联系人的基本信息,并可根据用户需求增加个性化信息如头像、姓名、手机号码、办公室电话、家庭电话、职务职称、单位名称、地址、Email这些信息,单击确认
25、返回主界面。点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改联系人的资料或进行删除联系人操作,完成后退回到主界面。对列表中联系人的标记,点击Menu键弹出功能界面上的删除按键也可进行删除。还可以在菜单上选择删除全部联系人来清空通讯录。在删除联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则联系人信息将继续保存。2. 查找联系人用户点击Menu键打开底部菜单框,底部菜单框为查询联系人提供入口,进入通讯录的缺省页面为联系人列表,在列表中看到所有联系人的姓名、电话信息排列,用户点击查找按键输入联系人基本信息,通讯录显示所有符合查询条件的联系人列表,用户选择一个联系人进入联系人基本信
26、息页面进行其他操作;查询完成,用户按返回键返回主界面。3. 通讯功能用户在通讯录选择联系人进入联系人详细信息界面,这时点击Menu键打开通信功能框,选择打电话、发信息还是发邮件的功能进行操作。4. 菜单功能通过对Menu按键的点击,显示底部菜单框,包含有增加、查找、删除、菜单、返回功能,菜单按键则包含显示所有、删除所有、备份SD卡等实用功能。通过对系统的功能结构的分析,设计后系统运行流程是系统运行后用户将进入通讯录主界面,可以看到联系人列表。通过点击MENU界面的增加功能选项可以新增联系人,通过查找按钮可以对联系人进行姓名、号码的操作,通过选择联系人并点击删除键可以对联系人进行删除操作,通过菜
27、单功能可以显示所有联系人、删除所有联系人、并备份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属性数据类型说明idInteger自动增加的主键N
28、ame姓名MobilephoneString手机号Officephone办公室号Familyphone家庭号码AddressString 地址Email邮箱Company公司名称Imageid图片号程序中将建立的名为”User”的数据库所包含的信息和文本信息表中所记录的消息一致。第5章 通讯录实现5.1 Android开发平台搭建Android的开发平台现在有两种:一种是在Eclipse上加载Android SDK,然户再安装ADT。虽然这种开发的方法依旧是主流,但是过程常常出现错误,不是十分方便;第二种则是Google新推出的Android studio开发软件,这种软件十分方便,不必加载A
29、ndroid SDK也不用单独安装ADT,安装完成后即可开发。本文将采用Android studio工具进行开发设计。可以从Google的Android的开发官网下载最新的Android studio,网址如下:5.2具体功能实现打开Android studio软件,新建一个Android Application Project,进行一些基本设置之后就在页面左侧出现了新建好的工程。如图5.1。图5.1 工程列表其中src是用于存放所有的*.java文件;gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID;res下有个子目录layout是存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置。5.2.1 增加联系人功能增加联系人的界面是通讯录的关键界面,目的在于方便用户储存联系人的一些相关信息。在增加联系人的相关信息中将会包括联系人头像,联系人姓名、手机号、办
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1