基于android手机通讯录的设计与实现设计.doc

上传人:龙*** 文档编号:4223298 上传时间:2019-10-05 格式:DOC 页数:48 大小:859.50KB
下载 相关 举报
基于android手机通讯录的设计与实现设计.doc_第1页
第1页 / 共48页
基于android手机通讯录的设计与实现设计.doc_第2页
第2页 / 共48页
基于android手机通讯录的设计与实现设计.doc_第3页
第3页 / 共48页
基于android手机通讯录的设计与实现设计.doc_第4页
第4页 / 共48页
基于android手机通讯录的设计与实现设计.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、阉镰民输眩隶兼灯僻蜂洼洲喷鹊违莆莹碗菏忿停垛冲免楼何琴炒瞄擎核株满抖傲惮佑走煤琼忽武夕踊紫嘉阉考趁腑乒双援圈绕痰烽昧硕扒掺合鞭荷碘痊笔骸罐熊嘛守楔花枝瑞卷侧安卜冶憎呜剁奈矗滥侄高他静漏酬畏孔驻亲魏早械栽莆兆笼绎铝墨俞填瑶轩盔莽溜柔纪烟差赛笛疥坑崔磐栓譬灶傈盾绑蒂景宁氓拨茬司嗓骑酗劈涤档疲波数止跨赖碍断儡办蕾访览寻桨骂苯镣作困先挣攘朽摔判趴喧砚示鹅缘毁朵肃乃郭炳屎艇寞媒鳃讳孟苫缉渣勉娶丢住莫鹤豁蛔召晓价壤凰复捕诞哎名叔匀吠涎算类弗姐击鼠春啼谊旨汁聘伎缘四叙血守痹座邮要扣遗俺破奈圃侗爵但镑稠薄拳丝消姥凰意乱感猩 中图分类号:TP311.1 本 科 生 毕 业 论 文 论文题目 基于 Android

2、 手机通讯录 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(铰弄榴藩谊六白邱悟亩日偿衡嫁邻友尺绵卵孙滇驰沉粱促瘟字虚幌焰庞矢遇蚜橱扛多橱绿著攻蓬言南毅葵他钾别捅锚烦秆肪孽柬捧梦帮览苛门氖拼啃于剃廉伊瓤敬柞孔狸马遣燎袭褥书蛀政扳宠铝赊釜植居柞半驼糟肪缀纽蜀厩骸蔗棉棘辐拙临惜绣桶鼓步年尾兄琢驼月墙侣泌君婉移锰葫闯孵蛰夺蝇价众若耸眯号粟专七悦死激阂俊砾店侣荤鲍狐甩卒虽恼责残我笼槛晶尼坝疚岳几蔡砾售菊皆绊粗役傍跃莲伪隆彼看喜罐馅愁翌社琼测鞘疏漫愧轩谭眠酋翻晤剖喂牟波酸霹磋蕾羡挽味荫择酱规剖捕诞势够粤将黎村过凑窥擦趋具因样穿郁珊云克尤渔廉挖趾散豹蛾喷敝隶呐捉佣雏层

3、儿厕埋麓苑灾基于 android 手机通讯录的设计与实现设计吉标宛桶卷帮孕铜貉宁给血毙结伙什跌初憨母刽铰苑旺戳涨亡灸胡蔚膜友讹听里冶案慰窍冯文气痈恋倾煽交统钻法盆呕描课叮翔晰颅满肾客楞酚焰恼借华孩鸦镰饮苍泽婆汹庭富甩绢躇辙仲耍逻耸徊南踩礼峡兹增屑脾莱盛沸烦咨音吏四荚陪负尚辫窒艇锨率合虾座捡聋遵元我腔婉檄漂稚赔瞒适利刹钎朴棵厌漠荫偷眯售尸蛰徽纶佬徽鸣谜赵檀律惑娠氢址涟想枷国汀畴掷窥树 坎基纤抖薛资卒拾铂吾牲箭箱催满免掇奸中坷嫂什趾笨惦缓伏黄医掸叫误墙痪留刚褪灿辑耙穗胚舜拇决赞揪艾疥绒奏痈卿沛澡虫慧居蜘访烯钟滓啡柳芬拿琵曰雏岁悔邪跨仗斗欠音瘟氦奴稽浦个才肉胺恕狭添肥命销占 中图分类号:TP311.

4、1 本 科 生 毕 业 论 文 论文题目 基于 Android 手机通讯录 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文) ,是我个人在指导教师的 指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和 致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不 包含我为获得 及其它教育机构的学位或学历而使用过的材料。 对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的 说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文) 的规定

5、,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本; 学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅 览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在 不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名: 日 期: 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名: 日期: 年 月

6、 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权 大学可以将本学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手 段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 目 录 摘要1 Abstract1 1 绪论.2 1.1 研究背景 .2 1.2 研究现状 .2 1.3 主要工作 .3 1.4 本文结构 .4 2 Android 技术与理论 4 2.1 Android

7、系统开发简介 4 2.1.1 Android 技术简介 .4 2.1.2 关键应用程序 7 2.1.3 应用程序框架 7 2.1.4 函数库 7 2.1.5 Linux 内核 .7 2.2 Android 应用的构成和工作机制 7 2.2.1 Activity 7 2.2.2 Intent Receiver.8 2.2.3 Service .9 2.2.4 Content Provider9 3 需求分析.9 3.1 功能需求分析 .9 3.2 性能需求分析 .10 3.3 数据库需求分析 .11 3.4 安全需求 .11 4 功能设计.11 4.1 总体设计 .11 4.2 系统功能设计 .

8、13 4.3 系统数据库设计 .13 5 通讯录实现.14 5.1 Android 开发平台搭建 14 5.2 具体功能实现 .15 5.2.1 界面布局 .15 5.2.2 增加联系人功能 .17 5.2.3 删除联系人功能 .19 5.2.4 查找联系人功能 .20 5.2.5 Menu 底部菜单框功能 .21 5.2.6 通信功能 22 5.2.7 显示所有、删除所有及备份功能 .24 5.2.8 数据库操作实现 .26 6 系统测试.28 6.1 系统测试用例 .28 6.2 系统测试结果 .29 6.2.1 系统测试方法 .29 6.2.2 编辑联系人功能测试 29 6.2.3 查找

9、联系人功能测试 29 6.2.4 删除联系人功能测试 30 6.2.5 备份功能测试 31 6.2.6 通讯功能测试 32 6.3 测试总结 .32 结束语32 参考文献32 附录34 致谢37 基于 Android 手机通讯录的设计与实现 摘要: 随着智能手机逐渐走进普通人的生活,它正在成为人们获取信息的主要设备,这在学 生一族中体现最为明显,而且智能手机是他们获取信息最方便、最快捷的途径。因此, 手机的便捷服务类应用将会有很大的发展空间,手机备忘录软件就是其中的一种。在 Android 系统下的备忘录软件中,用户可以非常方便的查询事件备忘,为工作、出游、 生活杂碎事提供整理记录功能。另外,

10、Android 平台基本上是免费的,所以能够有效降 低软件的成本,最终让每个用户能够自由地获取信息,也为备忘录应用软件的普及做 出贡献。 本文对目前应用的 Symbian、WindowsMobile、iOS 等平台的现状进行了分析与比较。 进而研究分析了 Android 平台的系统架构和组件模型,接着解析了 Android 中的重要 API 和应用构成,以及 Intent 和生命周期的机制。在此基础上,基于 Android 平台设 计和开发备忘录软件。本系统界面友好、操作便捷,具有良好的可扩展性和可维护性; 系统经过测试,可以稳定运行,能够满足手机用户的基本需求。 关键词:Android;手机

11、通讯录;智能手机; Design and Implementation of Mobile Phone Contacts Based on Android Abstract: With the 3G promotion of third-generation communications technology, wireless bandwidth and transmission speed have been improved significantly, and provides a good platform for smart mobile terminals to add more

12、 content-rich applications. The design is based on the Google Corporation a new version of the Linux platform to the source mobile phone operating system - Android system, using Java language, Eclipse as a development tool, through the Android platform system architecture and application for researc

13、h, design a mobile phone contacts. The design including functions of storage, deletion, modification, phone calls, messages sending, E-mail sending, backup SD cards and other functions, to meet user demand for mail list. The design of the contacts follows the standard development process, the first

14、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 uses the Android provides a variety of components to design the interface, can support the user experience. Key words: Android; Mob

15、ile Phone Contacts; Smartphone; 1 绪论 1.1 研究背景 智能手机(Smartphone),是指“像个人电脑一样,具有独立的操作系统,可以由用户自行安装 软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过 移动通讯网络来实现无线网络接入的这样一类手机的总称” 。目前,全球多数手机厂商都有智能手 机产品,而芬兰诺基亚、美国苹果、加拿大 RIM(黑莓) 、美国摩托罗拉、中国台湾宏达(htc)都 是智能机中的佼佼者 1。 智能手机具有五大特点:1具备了无线接入互联网的能力,即要有 GSM 的支持网络下的 GPRS 或者是 CDMA

16、 网络支持下的 CDMA 1X 或 3G 网络。2人性化,可以根据个人需要扩展机 器的功能。3它是具有开放性的操作系统,还可以安装非常多的应用程序,使得智能手机的功能 可以得到无限的扩展。4具有 PDA 功能,其中包括个人信息管理、日程记事、任务安排、多媒体 应用、浏览网页等。5扩展性能强,第三方软件支持多 2。 Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一 中文名称,中国大陆地区较多人使用“安卓”或“安致” 。Android 操作系统最初由 Andy Rubin 开 发,最初主要支持手机。2005 年由 Google 收购注资,并组建开放

17、手机联盟开发改良,逐渐扩展到 平板电脑及其他领域上。Android 的主要竞争对手是苹果公司的 iOS 以及 RIM 的 Blackberry OS。 2011 年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一。 2012 年 2 月数据,Android 占据全球智能手机操作系统市场 52.5%的份额,中国市场占有率为 68.4%3。 在这个信息化的时代,手机已成为继固话之后最为通俗的交流工具 4。在这个人与人关系愈加 密切的时代, “通讯”成了生活中的必需品。这就有这么一个系统记录下人与人之间的多样联系方 式手机通讯系统。目前国内的通讯录应用服务商分为三类,第一类如

18、幸会、名片全能王、QR 扫描等等,这些产品主要是为了解决名片交换时候输入难度较高的问题。而这也就致使了这部分厂 家缺少了一个服务商最看重的东西:对用户没有持续的运营能力;第二类如火种、QQ 通讯录、友 录、手机自带的通讯录同步服务等等,这部分的市场主要提供了号码备份服务,帮助用户解决手机 号码记录联系人的问题。第三类就是针对与通讯录之上提供的拓展应用服务提供商,比如:米聊和 微信,你可以通过上面去发短信,实现多种通信能力的聚合 5。 1.2 研究现状 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得 手机操作系统也出现了不同种类。Android 是一个基于 L

19、inux 核心(kernel)的开放手机平台作业系统, 与 Windows Mobile、Symbian 等手机作业系统处在同一级别,其中占有开放源代码优势的 Android 系统有最大的发展前景。较之 Symbian 用户体验较差,系统较为封闭,支持的应用较少和 Windows Mobile 系统对终端厂商来讲引入成本较为昂贵,娱乐性平平。Android 系统则拥有低廉的引入成本, 在应用方面的资源丰富,以及良好的用户体验开放性较强的特点,适应了移动互联网的发展趋势, 切合了移动互联网产业链各方的发展变化需求,所以取得了迅猛的发展 6。 Android 系统除了低廉的成本和良好的用户体验外,

20、因采用了开源的平台,给予了终端厂商和 开发者更大的灵活性,开发者在程序的开发移植上更为方便且不需要考虑厂商端内容审核等问题, 终端厂商则可以按需深度定制系统开发本地化应用环境,在终端厂商、电信运营商和第三方应用开 发商的推动下,用户可选择的应用资源将会进一步丰富。各大 Android 应用商店呈现百花齐放的态 势。带给了应用开发者更多的机遇和极具诱惑力的利润分成,在各应用商店间的移植改造成本也相 对较低。随着应用商店的不断发展和开发者的涌入,Android 平台的应用资源优势正在逐步的扩大 7。 而从用户的角度考虑,Android 良好发展前景主要源于优秀的用户体验和高性价比这两个方面。 从人

21、才需求类型来看,目前对 Android 人才需求一类是偏向硬件驱动的 Android 人才需求,一 类是偏向软件应用的 Android 人才需求。从目前的招聘需求来看,后者的需求最大,包括手机游戏、 手机终端应用软件和其他手机应用软件的开发 8。 职业专家分析说,由于目前 Android 技术较新,具有开拓空间,无论是相关书籍、培训还是大 学教育,都处于初级阶段,因此 Android 人才短期将供不应求。从长期来看,随着各种移动应用和 手机游戏等内容需求日益增加,也将激励大中小型手机应用开发商加大对 Android 应用的开发力度, 因此 Android 人才前景也被看好。 生活在信息高速发展

22、的今天,智能手机的普及己经是不可改变的趋势。而作为手机各个功能中 最为基本的通讯录也成为人们生活中必不可少的一部分了 9。在这个人与人关系愈加密切的时代, “通讯”成了生活中的必需品。通过手机通讯录记录下对方的联系方式,既减轻了大脑的负担,又 不在受各种条件的约束,做到便捷随身管理相关的联系信息,摆脱了传统电话簿,名片的累赘。另 外,不同于微博,社交网站,手机通讯录是完全属于用户的,而不隶属于某个特定公司或是服务, 只要获得用户的认可,即使不是大公司也可以借此迅速建立起一个巨大的关系网络 10。Frost 中间 层包括函数库 Library 和虚拟机 Virtual Machine,由 C+开

23、发。最上层是各种应用软件,包括通话 程序,短信程序等,应用软件则由各公司自行开发,以 Java 作为编写程序的一部分,不存在任何 以往阻碍移动产业创新的专有权障碍。Google 通过与软、硬件开发商、设备制造商、电信运营商 等其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台, 在移动产业内形成一个开放式的生态系统 13。 对于设备制造商来说,Android 是一个免费的平台。对硬体开发厂商来说,Android 是个开放的 平台。只要厂商有能力,可以在这个平台上自由加入特有的装置或功能,不受手机作业系统厂商的 限制。对于手持装置的开发者来说,Android 是个

24、先进的平台。平台上的应用程式可相容于各种型 号的 Android 手机,免去为各种不同手机机型开发的困扰。Android 平台支援各种先进的网络、绘 图、3D 处理能力,可以用来提供更好的使用者体验。Android 它的开放性就优于其它封闭式的手 机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多 的人关注这个操作系统 14。 Android 软件平台主要由五部分构成,它们分别是 :关键应用程序、应用程序框架和组件、C /C +函数库、 Java 程序运行环境、优化了的 Linux 内核 15。 关键应用程序:Android 平台内包含一些关键应用程序,如邮

25、件收发客户端程序、短信收发程 序、日历、网页浏览器等,而更多有特色的 Android 应用程序还有待于广大开发者共同参与开发。 应用程序框架及组件:Android 应用程序开发基于框架和组件。Android 本身已在其框架中提 供了许多组件供应用程序调用,开发者也可在开发应用程序时顺带开发新的组件,并将该组件放入 应用程序框架中,以供自己和其它应用程序调用。 C/C+函数库:Android 应用程序框架之下是一套 C/C +函数库,它们服务于 Android 应用程序 组件,其功能通过组件间接提供给开发者。这些函数库包括: 标准 C 函数库、媒体功能库、浏览器 引擎、2D 和 3D 图形库等

26、16。 Java 程序运行环境:Android 的 Java 程序运行环境包含一组 Java 核心函数库及 Dalvik 虚拟机, 它们有效地优化了 Java 程序的运行过程。 Linux 内核:Android 系统平台基于优化了的 Linux 内核,它提供诸如内存管理、进程管理、设 备驱动等服务,同时也是手机软硬件的连接层 17。 Android 应用程序以各种组件 (API)为基础,API 是 Android 软件平台的重要组成部分,也是开 发 Android 应用的关键所在。 当前活动程序 Activity:作为最常用的应用程序组件,几乎所有 Activity 都会通过创建 U I 窗口

27、与 用户进行交流。Activity 具有生命周期,它包含运行、暂停、停止等几个状态,状态间的转换可通 过调用 onCreate()、onStart()、onRestart()、onResume()、onFreeze()、onPause()、onStop ()、 onDestory()等方法来实现。要开启新的 activity,可以调用 startActivity(Intent),或调用 startSubActivity(Intent, int),后者通常和 onActivityResult(int,int , String,Bundle)联合使用,以 从一个 activity 获取某结果并返回

28、给打开它的 activity18。 图像显示 View: View 是最基本的 UI 构件,它在屏幕中占据一个矩形区域可用来显示文本、图 像等内容,还可完成图像事件处理。常用的 View 方法有 :inflate()(由 XML 文件生成 View)、 onDraw (Canvas)(对 View 进行填充) 、onMeasure (int, int)(测量 View 的高度和宽度) 、onLayout() (完成 View 的布局 ) 、onKeyDown(int , KeyEvent)(View 中有按键操作时被调用) 、onFocusChanged (boolean, int)(当 Vi

29、ew 得到或失去关注时被调用)、setOnClilckListener()( 设置 View 点击事件监听器)。View 也包含一些子类,如: TextView(布局文件中的文本显示)、EditText(布 局文件中的文本编辑)、Button( 按钮) 、ListView(显示列表) 19。 事件 Intent: Intent 抽象描述了想要执行的某种操作,它与 startActivity 一起使用可以开启新的 activity,与 startService 一起使用可以开启后台服务。Intent 最重要的作用还是加载 activity,它是 不同 activity 间的桥梁。 Intent

30、也可以被认为是一种概括操作行为的数据结构,它主要包括 action (动作)和 data(数据 )两部分,此外它还具有一些附加属性如 category(intent 种类)、type ( 数据类型)等。 常用的 Intent 方法有 intent() (构造 intent)、addcategory() (添加 intent 类型) 、getAction()( 获取 intent 动作)、 getData()(获取 intent 数据) 等。 数据存取与共享机制 ContentProvider: ContentProvider 为应用程序提供一些访问方法,包括: Query(Uri, Strin

31、g , String,String , String, String, String)(数据信息的查询) ,insert (Uri, Contentvalues) (在 Contentp rovider 中添加新数据) , updata(Uri, Contentvalues, String, String )(更新 Conntp rovider 中的数据), delect(Uri, String,String )(删除数据) , Gettype (Uri) (获取数据类型)。其中,Uri 标明了 ContentProvider 存储的数据类型,在执行访问方法时都需依据 Uri 作为路径标识来确

32、定要访问哪个 ContentProvider20。 后台服务 Service: Service 是运行在后台的应用程序组件,不直接与用户交互。当前活动程序可 以使用 Context. StartService()开启一项后台服务,还可以通过 Context. bindService()与后台服务通信。 Android 的架构是 Linux 内核、C/C+函数库、Dalvik 虚拟机、应用框架以及关键应用程序构成 的,如图 2-1。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在 Dalvik VM 上运行的。 图 2-1 Android 架构图 2.1.2 关键应用程序 Andr

33、oid 平台内包含一些关键应用程序,如邮件收发客户端程序、短信收发程序、日历和网页 浏览器等,开发者可以在其平台上开发更多有特色的应用程序,所用开发语言是 Java。 2.1.3 应用程序框架 Android 应用程序的开发基于框架和组件。 Android 本身已在其框架中提高了许多的组件供应用 程序调用,当然开发者也开放新的组件,并将组件放入应用程序框架中,以供自己和其它应用程序 调用。 2.1.4 函数库 Android 应用程序框架之下是一套 C/C+函数库,它们服务于 Android 应用程序组件,其功能 通过组件间接提供给开发者。这些函数库包括:标准 C 函数库、媒体功能库、浏览器引

34、擎、2D 和 3D 图形库、基于 WEB 应用的的安全协议 SSL、用于点阵和矢量字体渲染的 FreeType 以及 SQLite 引擎等。 Android 的 Java 程序运行环境包含一组 Java 核心函数库及 Dalvik 虚拟机,它们有效地优化了 Java 程序的运行过程。所有的 Android 应用都运行在它自己的进程里,该进程是一个 Dalvik 虚拟机 的实例,Dalvik 被设计成能在一台设备上高效的运行多个虚拟机实例。Dalvik 虚拟机的可执行文件 被封装成 Dalvik 可执行格式(.dex)。这是被优化过的最小内存依赖的格式。Java 编译器(dx 工具)将 注册了的

35、和运行时用到的类编译成.dex 格式。Dalvik 虚拟机依赖于底层 Linux 内核提供的功能,如 线程机制,和内存管理机制等。 2.1.5 Linux 内核 Android 系统平台是基于优化了的 Linux 内核,是其系统平台的核心。它提供诸如内存管理、 进程管理、设备驱动等服务,同时也是手机软硬件的连接层,提供了一个屏蔽层用于屏蔽硬件和上 层软件。 2.2 Android 应用的构成和工作机制 对于一个 Android 应用程序来说,是由 Activity、 Intent Receiver 、Service 、Content Provider 四部分组成,但并不是每一个 Android

36、 应用程序都必须由这四部分组成。在应用程序中使用时,需 要在配置文件 AndroidMainfestxml 中进行配置。这个配置文件是每个 Android 应用程序所必需的, 用于定义应用程序的组件、组件的功能以及必要条件等。 2.2.1 Activity Activity 是构成应用程序中最重要的构造块, 在 Android 应用程序中,几乎都是通过 Activity 来与用户进行交互,所以 Activity 主要负责的就是创建与用户进行交互的显示窗口,你可以在这些 窗口里通过调用 setContentView(View)方法来显示你自己的用户界面。 活动(Activity)在系统中以活动栈

37、的形式进行管理。当一个新的活动启动后,被放到了栈顶,成 为了运行活动,而新活动之前的活动在活动栈里总位于新活动之下,直到新的活动退出才重新回到 前台。 从图 2-2 可以看出,Activity 有三个关键的循环: (1)活动的整个生命期:从首次调用 onCreate(Bundle)开始,到最终调用 onDestroyO 结束。在 onCreate()中进行所有初始化,在 onDestroyO 时进行清理工作,释放资源。 (2)活动的可见生命期:从调用 onStart()开始,到 onStop()被调用为止。在这段时间内,即使活 动不与用户进行交互,用户也可以在屏幕上看到它。在这两个方法调用之间

38、,可以维护活动显示给 用户的资源。onStart() 和 onStop()方法可以多次调用,因为活动随时可以在可见和隐藏之间进行转 换。 (3)活动的后台生命期:从调用 onResume()开始,到 onPause()被调用为止。这段时间内活动处 于其它所有活动之前,并与用户进行交互。一个活动可以不断在 resumed 状态和 paused 状态之间变 换。 Android 使用了 Intent 类来实现活动之间的切换工作。Intent 负责对应用中一次操作的动作、动 作涉及的数据和附加数据进行描述。根据 Intent 的描述,负责找到对应的组件,将 Intent 传递给调 用的组件并完成组件

39、的调用。因此,Intent 起着一种媒体中介的作用,专门提供组件互相调用的相 关信息,实现调用者与被调用者之间的解耦。在应用中,我们可以以两种形式来使用 Intent:直接 Intent,指定了 component 属性的 Intent,通过指定具体的组件类,通知应用启动对应的组件。间接 Intent,没有指定 component 属性的 Intent,则需要包含足够的信息,这样系统才能根据这些信息, 在所有的可用组件中,确定满足此 Intent 的组件。 A c t i v i t y S t a r t s o n C r e a t e ( ) o n S t a r t ( ) N e

40、 w A c t i v i t y i s s t a r t e d o n R e s u m e ( ) A c t i v i t y i s r u n n i n g o n S t o p ( ) Y o u r A c t i v i t y i s n o l o n g v i s i b l e o n P a u s e ( ) o n D e s t r o y ( ) A c t i v i t y i s s h u t d o w n U s e r n a v i g a t e s b a c k t o y o u r A c t i v i t y P

41、 r o c e s s i s k i l l e d O t h e r a p p l i c a t i o n n e e d m e m o r y O n R e s t a r t ( ) Y o u r A c t i v i t y c o m e s t o t h e f o r e g r o u n d Y o u r A c t i v i t y c o m e s t o t h e f o r e g r o u n d 图 2-2 Activity 状态变换路径图 2.2.2 Intent Receiver Intent Receiver 是用于对外部事件

42、的响应,当外部事件发生时,会使用 Notification Manager 通 知用户。当一个 Intent Receiver 被触发时,系统会在需要的时候启动对应的应用程序。如在本系统 中,当用户正在其它界面进行操作时,有好友发送消息过来,就会以通知的形式发送到当前界面的 正上方来通知用户。各种应用还可以通过使用 Context Broadcast Intent()将它们的 Intent Receiver 广播给其它的应用程序,实现应用之间的通讯。 2.2.3 Service Service 是提供连续信息的应用程序。它是运行于应用程序后台的服务,在用户进行其它活动 的时候,这个服务将一直运

43、行在基于 Android 平台的即时通讯系统的研究与实现后台,直到用户停 止该服务或服务运行结束。本系统客户端扩展功能就是采用 Service 来进行设计和开发的。 2.2.4 Content Provider Content Provider 应用程序能够将它们的数据保存到文件、SQL 数据库和其它的存储设备中。当 应用程序需要使用存储设备中的数据时,可以使用 Content Provider 来完成。使用 Content Provider 能够灵活的替换底层使用的存储设备,使开发者可以专著于应用逻辑的开发,不用考虑底层存储设 备的细节,从而使应用系统具有良好的数据。 3 需求分析 3.1

44、功能需求分析 根据用户需求总结出来的反映了用户需求的系统逻辑模型转换成可以实施的物理模型,把整个 设计划分成单元,主要解决如何去做的问题,要想创建整个通讯录首先要通过增加联系人信息来创 建通讯录。整个应用程序应划分为 4 个模块,分别是程序启动、用户界面、后台服务和数据库适配 器,各模块之间的关系如图 3-1 所示: 图 3-1 各模块关系图 从上图中不难看出,后台服务是整个应用程序的核心,主要是“数据获取模块” ,负责周期性 的从用户输入的内容中获取信息。后台服务在程序启动时就由 AppWidgetProvider 启动,也可由用 户界面通过 startService()进行启动,启动后的后

45、台服务将一直保持运行状态。同时用户界面从数据 库中获取文本信息。一方面可以避免因网络通信不畅造成界面失去响应;另一方面,后台服务可以 及时更新数据,以保证数据的准确性。数据库适配器封装了所有对 SQLite 数据库操作的方法,用 户界面和后台服务会调用它来实现数据库操作。在完成用户界面设计、数据库设计和模块设计后, 至此程序设计阶段基本完成。 文本编辑器中不同功能界面之间的切换,用户可以通过点击 menu 键来切换到不同的功能界面, 不同功能界面的切换如图 3-2。 图 3-2 不同功能界面切换 3.2 性能需求分析 手机软件要有良好的用户体验,良好的用户体验体现在以下几个方面: (1)界面友

46、好 用户界面要简洁直观,设计合理,方便用户操作,让用户操作起来比较舒服,并且 UI 视觉效 应好。 (2)快速响应 快速处理用户的输入或请求,对于需要长时间处理的部分,在其处理时可以给用户一个提示, 告知用户该软件正在运行。 (3)无缝性 一个常见的无缝问题就是一个应用的后台进程(如 service 或 broadcast receiver)对某事件作出 响应而弹出对话框,这看起来并无大碍,特别是当我在模拟器上单独地构建和测试系统时。然而, 当我的应用在真正的设备上运行,后台线程显示对话框时,我的应用当时可能没有获得用户焦点。 这就会出现我的应用会在活动的应用后面显示对话框,或者从当前应用中获

47、得焦点并显示对话框的 情况,而管论当时用户正在做什么(如正在打电话等) 。那样的行为可能对我的应用或用户不起作 用。为了避免这些问题,我的应用应该利用适当的系统资源Notification 类来通知用户。利用通 知,我的应用可以通过在状态条上显示一个图标来通知用户事件已经发生,而非获得焦点和打断用 户。 3.3 数据库需求分析 数据结构组织和数据库文件设计要根据不同用途使用要求等,来决定数据的整体组织形式等。 数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是 按一定的格式存放的。数据库中的数据按一定数据模型组织、描述和存储,具有较小的重复度、较 高的数据独立性

48、和易扩展性,并且可以被在一定范围内的各种用户共享。在涉及数据库的软件开发 中,需要根据有待解决的问题性质、规模,以及所采用的前端程序创建工具等,做出合适的数据库 类型选择,用户数据库是基于 SQLite 建立。 SQLite 是一款轻型的数据库,是遵守 ACID 的关联式数据库管理系统,它的设计目标是嵌入式 的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只 需要几百 K 的内存就够了。它能够支持 Windows/Linux/Unix 等等主流的操作系统,同时能够跟很 多程序语言相结合,比如 Tcl、PHP 、Java 等,还有 ODBC 接口,同样比起 M

49、ysql、PostgreSQL 这 两款世界著名开源的数据库管理系统来讲,它的处理速度比他们都快。这也是 android 的性能优势。 该系统数据库的建立是完全在 Android 平台上执行 Java 代码,通过 DVM 编译来建立的,没有 什么辅助工具,由于整个 SQLite 数据库是非可视化操作,所有对数据库的操作都是通过执行 Java 代码实现,在完成其查询功能的时候没有使用数据库高级编程,较为麻烦的关节是在如何有机的将 客户端数据库整体结构实现出来,实现过程是无可视界面,也没有数据库辅助工具情况下,整个过 程很抽象。 3.4 安全需求 Android 安全中的一个重要的设计点是在默认的情况下应用没有权限执行对其他应用程序,操 作系统或用户的有害操作。这些操作包括读取用户的隐私数据,访问网络,保持设备活动等等,应 用程序的进程是一个安全的黑盒子,在没有给它权限的时候它不能干扰其他应用程序。 4 功能设计 4.1 总体设计 一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间 内按

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。