毕业论文基于android手机通讯录的设计与实现内容摘要:

发更多有特色的应用程序 ,所用开发语言是 Java。 Android 应用程序的开发基于框架和组件。 Android 本身已在其框架中提高了许多的组件供应用程序调用,当然开发者也开放新的组件,并将组件放入应用程序框架中,以供自己和其它应用程序调用。 函数库 Android 应用程序框架之下是一套 C/C++函数库,它们服务于 Android 应用程序组件,其功能通过组件间接提供给开发者。 这些函数库包括:标准 C 函数库、媒体功能库、 浏览器引擎、 2D 和 3D 图形库、基于 WEB 应用的的安全协议 学 士 学 位 论 文 11 SSL、用于点阵和矢量字体渲染的 FreeType 以及 SQLite 引擎等。 Android的 Java程序运行环境包含一组 Java核心函数库及 Dalvik虚拟机,它们有效地优化了 Java 程序的运行过程。 所有的 Android 应用都运行在它自己的进程里,该进程是一个 Dalvik 虚拟机的实例, Dalvik 被设计成能在一台设备上高效的运行多个虚拟机实例。 Dalvik 虚拟机的可执行文件被封装成 Dalvik可执行格式 (.dex)。 这是被优化过的最小内存依赖的格式。 Java 编译器 (dx 工具 )将注册了的和运行时用到的类编译成 .dex 格式。 Dalvik 虚拟机依赖于底层Linux 内核提供的功能,如线程机制,和内存管理机制等。 本章小结 本章主要介绍了在项目的开发过程中用到的相关技术, 主要介绍了Android、 应用程序框架 、 Linux 内核 技术、考号编排算法等,为后续系统设计与实现提供技术支持。 学 士 学 位 论 文 12 3 系统 需求分析与设计 功能需求分析 根据用户 需求总结出来的反映了用户需求的系统逻辑模型转换成可以实施的物理模型, 把整个设计划分成单元,主要 解决如何去做的问题 ,要想创建整个通讯录首先要通过增加联系人信息来创建通讯录。 整个应用程序应划分为 4个模块,分别是程序启动、用户界面、后台服务和数据库适配器,后台服务是整个应用程序的核心,主要是“数据获取模块”,负责周期性的从用户输入的内容中获取信息。 后台服务在程序启动时就由 AppWidgetProvider 启动,也可由用户界面通过 startService()进行启动,启动后的后台服务将一直保持运行状态。 同时用户界面从数据库中获取文本信息。 一方面可以避免因网络通信不畅造成界面失去响应;另一方面,后台服务可以及时更新数据,以保证数据的准确性。 数据库适配器封装了所有对 SQLite 数据库操作的方法,用户界面和后台服务会调用它来实现数据库操作。 在完成用户界面设计、数据库设计和模块设计后,至此程序设计阶段基本完成。 文本编辑器中不同功能界面之间的切换,用户可以通过点击 menu 键来切换到不同的功能界面,不同功能界面的切换如图 32。 图 32 不同功能界面切换 学 士 学 位 论 文 13 性能需求分析 手机软件要有良好的用户体验,良好的用户体验体现在以下几个方面: (1)界面友好 用户界面要简洁直观,设计合理,方便用户操作,让用户操作起来比较舒服,并且 UI 视觉效应好。 (2)快速响应 快速处理用户的输入或请求,对于需要长时间处理的部分,在其处理时可以给用户一个提示,告知用户该软件正在运行。 (3)无缝性 一个常见的无缝问题就是一个应用的后台进程(如 service 或 broadcast receiver)对某事件作出响应而弹出对话框,这看起来并无大碍,特别是当 我在模拟器上单独地构建和测试 系统 时。 然而,当 我 的应用在真正的设备上运行,后台线程显示对话框时, 我 的应用当时可能没有获得用户焦点。 这就会出现 我的应用会在活动的应用后面显示对话框,或者从当前应用中获得焦点并显示对话框的情况, 而管论当时用户正在做什么(如正在打电话等)。 那样的行为可能对 我 的应用或用户不起作用。 为了避免这些问题, 我 的应用应该利用适当的系统资源 —— Notification 类来通知用户。 利用通知, 我 的应用可以通过在状态条上显示一个图标来通知用户事件已经发生,而非获得焦点和打断用户。 数据库需求分析 数据结构组织和数据库文件设计要根据不同用途使用要求等,来决定数据的整体组织形式等。 数据库,顾名思义,是存放数据的仓库。 只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。 数据库中的数据按一定数据模型组织 、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性,并且可以被在一定范围内的各种用户共享。 在涉及数据库的软件开发中,需要根据有待解决的问题性质、规模,以及所采用的前端程序创建工具等,做出合适的数据库类型选择,用户数据库是基于 SQLite 建立。 SQLite 是一款轻型的数据库,是遵守 ACID 的关联式数据库管理系统,它 学 士 学 位 论 文 14 的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。 它能够支持 Windows/Linux/Unix 等等主流的操作 系统,同时能够跟很多程序语言相结合,比如 Tcl、 PHP、 Java 等,还有 ODBC 接口,同样比起 Mysql、 PostgreSQL这两款世界著名开源的数据库管理系统来讲,它的处理速度比他们都快。 这也是 android 的性能优势。 该系统数据库的建立是完全在 Android 平台上执行 Java 代码,通过 DVM 编译来建立的,没有什么辅助工具,由于整个 SQLite 数据库是非可视化操作,所有对数据库的操作都是通过执行 Java 代码实现,在完成其查询功能的时候没有使用数据库高级编程,较为麻烦的关节是在如何有机的将客户端数据库整体 结构实现出来,实现过程是无可视界面,也没有数据库辅助工具情况下,整个过程很抽象。 总体设计 一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间内按照设计者的要求高质量的完成程序必要的功能。 并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善,使程序更加具有健壮性和可用性。 通过对通讯录功能、系统模块、用户需求方面进行全方位的分析制定开发流程,开发流程如图 41 所示。 图 41 开发流程图 采用标准的开发流程确定系统具有用户管理功能,联系人增删改功能,通讯功能 ,查找功能,备份等功能。 系统的功能图如 42 所示。 学 士 学 位 论 文 15 图 42 系统功能图 通过对系统的功能结构的分析,设计后系统运行流程是系统运行 后 用户将进入 通讯录主 界面,可以看到 联系人 列表。 通过点击 MENU 界面的增加功能选项可以新增联系人,通过查找按钮可以对联系人进行姓名、号码的操作,通过选择联系人并点击删除键可以对联系人进行删除操作,通过菜单功能可以显示所有联系人、删除所有联系人、并备份 SD 卡功能。 在联系人详细信息界面点击MENU 键弹出通讯功能框选择拨打电话按钮 或者发信息发邮件按键。 增加 查找 删除 菜单 详细信息 修改 联系人列表 退出 删除 显示所有 删除所有 备 份 返回 学 士 学 位 论 文 16 图 43 系统运行流程 系统功能设计 根据手机功能调查显示,近十成消费者都会使用手机通讯录功能,随着手机通讯录功能的不断加强与完善,手机通讯录的意义,已不仅仅像电话薄一样显示电话号码,而是向着个性化、人性化的方向发展。 通讯录从无到有,从英文到中文,经历了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个联系人之下有手机号码、固话号码、公司、住址、邮箱、备注等内容。 手机通讯录扮演着与用户直接交互并且提供服务的重要角色,它需要提供良好的用户体验,方便用户操 作,接收用户的操作并把这些操作转换成相应的命令,采用用户活动的方式完成各个服务的逻辑流程。 其功能主要包括以下几方面内容。 增加、删除、编辑联系人 点击通信录界面中的增加按钮,进入增加联系人界面。 输入联系人的基本信息,并可根据用户需求增加个性化信息如 头像 、 姓名 、 手机号码 、 办公室电话 、 家庭电话 、 职务职称 、 单位名称 、 地址 、 邮政编码 、 Email、 其他联系方式 、备注这些信息 ,单击确认返回主界面。 点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改联系人的资料或进行删除联系人操作,完成后退回 学 士 学 位 论 文 17 到主界面。 对列表中 联系人的标记,点击 menu 键弹出功能界面上的删除按键也可进行删除。 还可以在菜单上选择删除全部联系人来清空通讯录。 在删除联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则联系人信息将继续保存。 查找联系人 用户点击 menu 键打开底部菜单框,底部菜单框为查询联系人提供入口,进入通讯录的缺省页面为联系人列表,在列表中看到所有联系人的姓名、电话信息排列,用户点击查找按键输入联系人基本信息,通讯录显示所有符合查询条件的联系人列表,用户选择一个联系人进入联系人基本信息页面进行其他操作;查询完成,用户按返回键 返回主界面。 通讯功能 用户在通讯录选择联系人进入联系人详细信息界面,这时点击 menu 键打开通信功能框,选择打电话、发信息还是发邮件的功能进行操作。 菜单功能 通过对 menu 按键的点击,显示底部菜单框,包含有增加、查找、删除、菜单、返回功能,菜单按键则包含显示所有、删除所有、备份 SD 卡等实用功能。 数据库设计 该程序数据库是在 Android平台上执行 Java代码,通过 DVM编译来建立的,由于整个 SQLite 数据库是非可视化操作,因此所有对数据库的操作都是通过执行 Java 代码实现。 且表的设计 也尽量优化,没有错综复杂的关系,每张表都是独立的,不存在任何约束,因此数据库也是独立数据库。 本系统 为了实现文本管理功能 , 需要建立文本信息表 database,文本信息表 database 中需要包含的属性有 id, name, mobilephone, officephone,familyphone, address, emial, pany, remark, imageid,文本信息表 database如表 41 所示: 学 士 学 位 论 文 18 表 41 文本信息表 database 属性 数据类型 说明 _id Integer 自动增加的 主键 Name Integer 姓名 Mobilephone String[ ] 手机号 Officephone String[ ] 办公室号 Familyphone String[ ] 家庭号码 Address String 地址 Email String 邮箱 Company String 公司地址 Remark Integer 标记 Imageid Integer 图片号 安全需求 Android 安全中的一个重要的设计点是在默认的情况下应用没有权限执行对其他应用程序,操作 系统或用户的有害操作。 这些操作包括读取用户的隐私数据,访问网络,保持设备活动等等,应用程序的进程是一个安全的黑盒子,在没有给它权限的时候它不能干扰其他应用程序。 本章小结 本章主要从系统的需求分析设计、系统结构的设计、功能模块设计、数据库设计方面展开。 系统的结构设计主要从系统的整体框架结构、系统体系结构、系统功能模块结构设计展开。 系统的数据库设计主要从系统的数据库的结构设计与系统数据表的逻辑结构的设计展开。 学 士 学 位 论 文 19 4 通讯录实现 Android 开发平台搭建 Android 的上层应用程序是用 Java 语言开发,同时还需要基于 Dalvik 虚拟机,所以, Google 公司推荐使用主流的 Java 继承开发环境 Eclipse。 只有Eclipse 还不够,因为是使用 Java 语言进行开发,还应该有由 SUN 公司提供的Java SDK(其中包括 JRE: Java Runtime Environment)。 此外, Android 的应用程序开发和 Java开发有较大区别的,所以还需要有 Google提供的 Android SDK。 同时,还需要在 Eclipse 安装 ADT,为 Android 开发提供开发工具的升级或者变更,是 Eclipse 下开 发工具的升级下载的工具。 简言之,需要以下软件,才能搭建 Android 开发环境,从而进行 Android应用程序的开发。 (1) Java SDK (2) Eclipse (3) Android SDK (4)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。