Android手机通讯录的设计与分析
【摘要】本文采用谷歌公司新推出的一款基于Linux平台的开源手机操作系统——Android系统,利用Java语言,Eclipse为开发工具对通讯录的代码进行编写。通过对Android平台的系统架构和应用程序进行初步研究,设计出一款基于Android手机的通讯录。
【关键词】Android手机,通讯录,设计分析
  一、前言
智能手机的诞生,是掌上电脑演变而来的。厂商为了满足市场需求,把电脑的系统移植到手机中,将手机和掌上电脑综合于一体,于是才出现了智能手机的概念。
二、Android系统开发简介
1Android技术简介
Google2005年并购了成立22个月的高科技企业Android,展开了短信、手机检索、定位灯的业务,同时基于LinuxAndroid平台也进入了开发阶段。Google2007115日发发布
Android的第一个版本,在刚发布之初,Android并没有引起界内太多的关注。但随着Google组件的开放手机联盟不断有新生力量的加入,Android这个初出茅庐的小子已成为iPhone分庭抗礼的生力军,Android采用软件堆层(SoftwareStack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机VirtualMachine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分,不存在任何以往阻碍移动产业创新的专有权障碍。Android平台支持各种先进的网络、绘图、3D处理能力,可以用来提供更好的使用者体验,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写
2、系统运行库层(Libraries)以及Linux内核层(LinuxKernel),
应用层(Application):运行层是使用Java语言进行开发的一些应用程序,如地图软件、邮件客户端程序、浏览器的连接等都是运行在应用层上。
应用框架层(ApplicationFramework):应用程序框架,主要是Google公司发布的一些操作支持的类库(API框架)。应用程序中包含众多组件,开发者也开放新的组件,将组件放
入应用程序框架中,可以进行供自己和其它应用程序调用。
系统运行库层(Libraries):当使用Android框架进行开发时,为了更好地为程序服务,Android操作系统会自动调用一些C/C++的库文件夹来支持所使用的各个组件。
Linux内核层(LinuxKernel):Android操作系统主要是基于Linux2.6内核,程序的安全性、驱动程序、进程管理等都由Linux内核所提供。
3Android应用程序框架安卓app开发用什么框架
基于Android软件开发接触到最多的部分就是应用程序框架,开发者都是通过应用程序框架来与Android程序进行交互。整个应用程序框架中有4个重要组件:ActivitiesIntentServicesContentProviderActivities:一个Activities表示一个程序的显示界面,一个应用程序可包含多个Activities组件,每个Activities组件都有各自的周期。IntentIntent用来完成多个程序之间的跳转,另外还可以用Intent来调用Android本身所提供的应用程序,例如打电话、发短信、发邮件等。ServicesServices也是Activities程序,只是Services运行在后台,并没有界面显示。ContentProvider:不同应用程序之间需要对数据进行共享时用到此组件。
三、软件需求分析
1、软件功能需求分析
通过对用户需求的市场调查进行分析,确定用户需求的系统逻辑模型,把整个设计划分成4个单元,分别是程序启动、用户界面、后台服务和数据库适配器,后台服务是整个软件的核心,数据获取模块是其主要部分,负责周期性的从用户输入的内容中获取信息。后台服务在程序启动时就由AppWidgetProvider启动,也可由用户界面通过startService进行启动,启动后的后台服务将一直保持运行状态。同时用户界面从数据库中获取文本信息。一方面可以避免因网络通信不畅造成界面失去响应;另一方面,后台服务可以及时更新数据,以保证数据的准确性。数据库适配器封装了所有对SQLite数据库操作的方法,用户界面和后台服务会调用它来实现数据库操作。在完成用户界面设计、数据库设计和模块设计后,至此程序设计阶段基本完成。
2、软件数据库需求分析
数据库存储数据的组织形式和数据库文件的形式不定,主要根据使用要求来确定,但数据
中的数据都是按照一定模型组织、描述和存储的,具有较小的重复度、较高的数据独立性和易扩展性。用户数据库是基于SQLite建立。
SQLite是遵守ACID的关系型数据库管理系统,包含在一个相对小的C库中,能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如PHPJavaCC#等。SQLite引擎不是程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。SQLite是无类型的,这意味着我们可以保存任何类型的数据到所想保存的任何表的任何列中。SQLite数据库的非可视化操作是其弊端所在,这就导致SQLite在实现客户端数据整体结构的过程无可视界面,整个过程都很抽象。
3、安全需求分析
由于Android系统自身具备的开放源码的特征,它的安全性能成为信息安全领域研究的一个重要课题。Android的安全性能主要体现在两个方面:Android的系统安全和数据安全。Android系统安全是指智能终端本身的安全,是对操作系统的保护,防止未授权的访问及对
授权用户服务的拒绝或对未授权用户服务的允许,包括行为检测、记录等措施。Android的数据安全指确保存储数据完整性、合法性二个方面,要求做到系统正确地传输数据,授权程序顺利地读取数据。
Android安全中的一个重要的设计点是在默认的情况下应用没有权限执行对其他应用程序、操作系统或用户的有害操作,这些操作包括读取用户的隐私数据,访问网络,保持设备活动等等,应用程序的进程是一个安全的黑盒子,在没有给它权限的时候它不能干扰其他应用程序。
四、系统总体设计
1、相关分析
相关系统分析员初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚利用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。
2、详细功能分析
(一)、新用户的添加功能
对于新的联系人,手机用户可以添加新联系人的头像,姓名,手机号码,办公室电话,家庭电话,职务职称,单位名称,地址,,Email,其他,备注这些信息。
(二)、查联系人
可以输入联系人名字或者手机来查联系人的信息,方便用户快速到联系人,查询结果显示在当前页。
(三)、删除联系人
通过长点击来删除要删除的联系人。修改联系人:可以根据需要修改联系人的所有信息。
(四)、菜单功能
菜单功能里包括显示所有,删除所有;显示所有是把当前通讯录里所有的联系人都显示出来;删除所有是快速删除所有好友。
3、系统模块划分
系统设计阶段的主要任务是将需求分析阶段所总结出来的反映了用户需求的系统逻辑模型转换成可以实施的物理模型。
五、结束语
系统的开发一个挑战,但在多方的配合研发设计中,现在程序运行良好,基本功能得以实现,本系统的开发应用,对提高工作效率,推进科技进步具有十分重要的意义。
参考文献
[1]景保玉.2010中国移动应用开发现状与趋势大调查[M].北京:人民邮电出版社,2011:2-19
[2]()鲍格斯坦(BergstenH.)著,林琪,朱涛江译.JSP设计(第三版)[M].北京:中国电力出版社,2004:12-28
[3]()梅尔.Android2高级编程(2)[M].北京:清华大学出版社,2010:12-12

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。