基于android手机通讯录设计实现方案.docx
- 文档编号:20327608
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:32
- 大小:374.33KB
基于android手机通讯录设计实现方案.docx
《基于android手机通讯录设计实现方案.docx》由会员分享,可在线阅读,更多相关《基于android手机通讯录设计实现方案.docx(32页珍藏版)》请在冰豆网上搜索。
基于android手机通讯录设计实现方案
基于android手机通讯录设计实现方案
摘要
摘要:
随着第三代通信技术3G的推广,无线带宽和传输速度都得到了大幅度提升,为智能手机终端添加更多内容丰富的应用功能提供了良好的平台。
本系统是基于谷歌公司新推出的一款Linux平台的开源手机操作系统——Android系统,利用Java语言,Eclipse为开发工具,通过对平台的系统架构和应用程序进行学习,设计出一款手机通讯录。
本系统包括存储,删除,Android修改,打电话,发信息,发邮件,备份SD卡等功能,满足了用户对通讯录的需求。
此通讯录的设计遵循标准的开发流程,首先进行需求分析,然后确定通讯录的功能,再编写程序的代码,调试程序,运行程序,并对程序进行优化完善。
本软件利用Android提供的各种组件对界面进行设计,能够很好地支持用户体验。
关键词:
Android;手机通讯录;智能手机;
1绪论
1.1项目研究背景与意义
1.1.1课题背景
智能手机(Smartphone),是指“像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称”。
[1]。
Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。
目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
Android操作系统最初由AndyRubin开发,最初主要支持手机。
2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。
在这个信息化的时代,手机已成为继固话之后最为通俗的交流工具[2]。
在这个人与人关系愈加密切的时代,“通讯”成了生活中的必需品。
这就有这么一个系统记录下人与人之间的多样联系方式——手机通讯系统。
1.1.2研究的意义
当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同种类。
Android是一个基于Linux核心(kernel)的开放手机平台作业系统,与WindowsMobile、Symbian等手机作业系统处在同一级别,其中占有开放源代码优势的Android系统有最大的发展前景。
较之Symbian用户体验较差,系统较为封闭,支持的应用较少和WindowsMobile系统对终端厂商来讲引入成本较为昂贵,娱乐性平平。
Android系统则拥有低廉的引入成本,在应用方面的资源丰富,以及良好的用户体验开放性较强的特点,适应了移动互联网的发展趋势,切合了移动互联网产业链各方的发展变化需求,所以取得了迅猛的发展[6]。
Android系统除了低廉的成本和良好的用户体验外,因采用了开源的平台,给予了终端厂商和开发者更大的灵活性,开发者在程序的开发移植上更为方便且不需要考虑厂商端内容审核等问题,终端厂商则可以按需深度定制系统开发本地化应用环境,在终端厂商、电信运营商和第三方应用开发商的推动下,用户可选择的应用资源将会进一步丰富。
各大Android应用商店呈现百花齐放的态势。
带给了应用开发者更多的机遇和极具诱惑力的利润分成,在各应用商店间的移植改造成本也相对较低。
随着应用商店的不断发展和开发者的涌入,Android平台的应用资源优势正在逐步的扩大[7]。
而从用户的角度考虑,Android良好发展前景主要源于优秀的用户体验和高性价比这两个方面。
从人才需求类型来看,目前对Android人才需求一类是偏向硬件驱动的Android人才需求,一类是偏向软件应用的Android人才需求。
从目前的招聘需求来看,后者的需求最大,包括手机游戏、手机终端应用软件和其他手机应用软件的开发[8]。
职业专家分析说,由于目前Android技术较新,具有开拓空间,无论是相关书籍、培训还是大学教育,都处于初级阶段,因此Android人才短期将供不应求。
从长期来看,随着各种移动应用和手机游戏等内容需求日益增加,也将激励大中小型手机应用开发商加大对Android应用的开发力度,因此Android人才前景也被看好。
生活在信息高速发展的今天,智能手机的普及己经是不可改变的趋势。
而作为手机各个功能中最为基本的通讯录也成为人们生活中必不可少的一部分了[9]。
在这个人与人关系愈加密切的时代,“通讯”成了生活中的必需品。
通过手机通讯录记录下对方的联系方式,既减轻了大脑的负担,又不在受各种条件的约束,做到便捷随身管理相关的联系信息,摆脱了传统电话簿,名片的累赘。
另外,不同于微博,社交网站,手机通讯录是完全属于用户的,而不隶属于某个特定公司或是服务,只要获得用户的认可,即使不是大公司也可以借此迅速建立起一个巨大的关系网络[10]。
Frost&Sullivan的王煜全也曾多次强调过手机通讯录是一块颠覆性创新的金矿,是创业者们创新的绝佳平台。
从长远利益来看,可是意义重大的环保便民之举。
根据市场需求,手机通讯录管理系统所记录的信息一般分为个人、商业、办公三类。
清晰了机主的联系方向。
针对性的分门别类,使系统具有了方便了机主的存储和快速查阅优势功能,大大减少了在电话簿,名片上机械翻阅查找过程的时间。
于此同时又根据手机随身携带的特殊性,在一定程度上比一般的制作文件方便亲民。
又其次,因为手机是随身携带的通讯工具,这与记事本相比将在一定程度上保障了联系人信息的安全性,相对避免了个人隐私信息外泄从而带来的损失[11]。
综上所述,手机通讯录管理系统是一个高效、实时、绿色环保的管理系统。
然而现在很多通讯录一味追求外观花哨,功能繁杂,对于大多数用户,许多功能用不上,形同虚设。
针对以上各种弊端,开发了此种通讯录,将各种性能优化,继承通讯录的常用功能,满足一般用户存储,查找,删除,查看的需求,此外还支持发信息,打电话,发邮件,备份SD卡等功能[12]。
1.2国内外研究现状
1.2.1国外手机通讯录的研究现状
Android应用的范围基本上覆盖了各个行业。
在国外方面,美国、加拿大、日本、德国和新加坡等发达国家都已经广泛应用,其中新加坡的智能系统尤为常见。
Android应用于手机通讯录能使人们提供更加轻松、有序、快捷的生活方式。
1.2.2国内手机通讯录的研究现状
手机通讯录是一块颠覆性创新的金矿,是创业者们创新的绝佳平台。
从长远利益来看,可是意义重大的环保便民之举。
根据市场需求,手机通讯录管理系统所记录的信息一般分为个人、商业、办公三类。
清晰了机主的联系方向。
针对性的分门别类,使系统具有了方便了机主的存储和快速查阅优势功能,大大减少了在电话簿,名片上机械翻阅查找过程的时间。
于此同时又根据手机随身携带的特殊性,在一定程度上比一般的制作文件方便亲民。
又其次,因为手机是随身携带的通讯工具,这与记事本相比将在一定程度上保障了联系人信息的安全性,相对避免了个人隐私信息外泄从而带来的损失[6]。
职业专家分析说,由于目前Android技术较新,具有开拓空间,无论是相关书籍、培训还是大学教育,都处于初级阶段,因此Android人才短期将供不应求。
从长期来看,随着各种移动应用和手机游戏等内容需求日益增加,也将激励大中小型手机应用开发商加大对Android应用的开发力度,因此Android人才前景也被看好。
目前对Android人才需求一类是偏向硬件驱动的Android人才需求,一类是偏向软件应用的Android人才需求。
从目前的招聘需求来看,后者的需求最大,包括手机游戏、手机终端应用软件和其他手机应用软件的开发[7]。
1.3论文主要研究的内容
本设计主要是采用Android的View框架编写,部分框架运用Android中的其他组件。
当进入通讯录的增加界面时,调用的是一个用相对布局RelativeLayout的XML布局文件。
其中包括了2个Button,分别实现了不同的功能。
第一个Button是保存内容,当输入联系人姓名和号码是点击保存实现此功能。
说到保存,不得不说得是保存信息涉及添加新联系人的头像,姓名,手机号码,办公室电话,家庭电话,职务职称,单位名称,地址,邮政编码,Email,其他联系方式,备注这些信息。
第二个Button是返回,顾名思义就是从增加界面返回前一界面。
响应menu键的触发事件,设置底部菜单是否可见,并通过对底部菜单选项的监听实现底部菜单中的增加、查找、删除、菜单、退出等功能,其中菜单包括显示所有、删除所有、号码备份功能。
在联系人信息界面时通过点击menu键,会弹出通信功能框,通过与发信息、打电话、发邮件功能接口的套用来实现。
1.4论文组织结构
全文共分为六章。
第一章主要包括项目简介、课题研究的背景、意义、主要内容和手机通讯录系统在国内外研究的现状;
第二章主要介绍手机通讯录系统使用的相关技术平台、系统架构以及系统开发中用到的相关技术;
第三章主要介绍了系统的业务流程、数据流程、功能需求分析、非功能需求分析,为系统的开发提出了方向。
第四章详细介绍了系统的技术架构、网络结构、逻辑架构、模块功能、数据库以及安全设计,对系统分析与设计作了比较详细的描述。
第五章主要描述了系统功能和界面的实现。
以几个典型的模块对系统的实现做了详细介绍。
第六章总结全文,并给出后续工作的展望。
。
2相关技术背景
2.1Android技术简介
Android一词的本义指“机器人”同时也是Google。
于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
它采用软件堆层(SoftwareStack,又名软件叠层)的架构,主要分为三部分。
底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机VirtualMachine,由C++开发。
最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分,不存在任何以往阻碍移动产业创新的专有权障碍。
Google通过与软、硬件开发商、设备制造商、电信运营商等其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统[13]。
2.2关键应用程序
Android平台内包含一些关键应用程序,如邮件收发客户端程序、短信收发程序、日历和网页浏览器等,开发者可以在其平台上开发更多有特色的应用程序,所用开发语言是Java。
Android应用程序的开发基于框架和组件。
Android本身已在其框架中提高了许多的组件供应用程序调用,当然开发者也开放新的组件,并将组件放入应用程序框架中,以供自己和其它应用程序调用。
2.3函数库
Android应用程序框架之下是一套C/C++函数库,它们服务于Android应用程序组件,其功能通过组件间接提供给开发者。
这些函数库包括:
标准C函数库、媒体功能库、浏览器引擎、2D和3D图形库、基于WEB应用的的安全协议SSL、用于点阵和矢量字体渲染的FreeType以及SQLite引擎等。
Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化了Java程序的运行过程。
所有的Android应用都运行在它自己的进程里,该进程是一个Dalvik虚拟机的实例,Dalvik被设计成能在一台设备上高效的运行多个虚拟机实例。
Dalvik虚拟机的可执行文件被封装成Dalvik可执行格式(.dex)。
这是被优化过的最小内存依赖的格式。
Java编译器(dx工具)将注册了的和运行时用到的类编译成.dex格式。
Dalvik虚拟机依赖于底层Linux内核提供的功能,如线程机制,和内存管理机制等。
2.4本章小结
本章主要介绍了在项目的开发过程中用到的相关技术,主要介绍了Android、应用程序框架、Linux内核技术、考号编排算法等,为后续系统设计与实现提供技术支持。
3系统需求分析与设计
3.1功能需求分析
根据用户需求总结出来的反映了用户需求的系统逻辑模型转换成可以实施的物理模型,把整个设计划分成单元,主要解决如何去做的问题,要想创建整个通讯录首先要通过增加联系人信息来创建通讯录。
整个应用程序应划分为4个模块,分别是程序启动、用户界面、后台服务和数据库适配器,后台服务是整个应用程序的核心,主要是“数据获取模块”,负责周期性的从用户输入的内容中获取信息。
后台服务在程序启动时就由AppWidgetProvider启动,也可由用户界面通过startService()进行启动,启动后的后台服务将一直保持运行状态。
同时用户界面从数据库中获取文本信息。
一方面可以避免因网络通信不畅造成界面失去响应;另一方面,后台服务可以及时更新数据,以保证数据的准确性。
数据库适配器封装了所有对SQLite数据库操作的方法,用户界面和后台服务会调用它来实现数据库操作。
在完成用户界面设计、数据库设计和模块设计后,至此程序设计阶段基本完成。
文本编辑器中不同功能界面之间的切换,用户可以通过点击menu键来切换到不同的功能界面,不同功能界面的切换如图3-2。
图3-2不同功能界面切换
3.2性能需求分析
手机软件要有良好的用户体验,良好的用户体验体现在以下几个方面:
(1)界面友好
用户界面要简洁直观,设计合理,方便用户操作,让用户操作起来比较舒服,并且UI视觉效应好。
(2)快速响应
快速处理用户的输入或请求,对于需要长时间处理的部分,在其处理时可以给用户一个提示,告知用户该软件正在运行。
(3)无缝性
一个常见的无缝问题就是一个应用的后台进程(如service或broadcastreceiver)对某事件作出响应而弹出对话框,这看起来并无大碍,特别是当我在模拟器上单独地构建和测试系统时。
然而,当我的应用在真正的设备上运行,后台线程显示对话框时,我的应用当时可能没有获得用户焦点。
这就会出现我的应用会在活动的应用后面显示对话框,或者从当前应用中获得焦点并显示对话框的情况,而管论当时用户正在做什么(如正在打电话等)。
那样的行为可能对我的应用或用户不起作用。
为了避免这些问题,我的应用应该利用适当的系统资源——Notification类来通知用户。
利用通知,我的应用可以通过在状态条上显示一个图标来通知用户事件已经发生,而非获得焦点和打断用户。
3.3数据库需求分析
数据结构组织和数据库文件设计要根据不同用途使用要求等,来决定数据的整体组织形式等。
数据库,顾名思义,是存放数据的仓库。
只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。
数据库中的数据按一定数据模型组织、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性,并且可以被在一定范围内的各种用户共享。
在涉及数据库的软件开发中,需要根据有待解决的问题性质、规模,以及所采用的前端程序创建工具等,做出合适的数据库类型选择,用户数据库是基于SQLite建立。
SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款世界著名开源的数据库管理系统来讲,它的处理速度比他们都快。
这也是android的性能优势。
该系统数据库的建立是完全在Android平台上执行Java代码,通过DVM编译来建立的,没有什么辅助工具,由于整个SQLite数据库是非可视化操作,所有对数据库的操作都是通过执行Java代码实现,在完成其查询功能的时候没有使用数据库高级编程,较为麻烦的关节是在如何有机的将客户端数据库整体结构实现出来,实现过程是无可视界面,也没有数据库辅助工具情况下,整个过程很抽象。
3.4总体设计
一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间内按照设计者的要求高质量的完成程序必要的功能。
并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善,使程序更加具有健壮性和可用性。
通过对通讯录功能、系统模块、用户需求方面进行全方位的分析制定开发流程,开发流程如图4-1所示。
图4-1开发流程图
采用标准的开发流程确定系统具有用户管理功能,联系人增删改功能,通讯功能,查找功能,备份等功能。
系统的功能图如4-2所示。
图4-2系统功能图
通过对系统的功能结构的分析,设计后系统运行流程是系统运行后用户将进入通讯录主界面,可以看到联系人列表。
通过点击MENU界面的增加功能选项可以新增联系人,通过查找按钮可以对联系人进行姓名、号码的操作,通过选择联系人并点击删除键可以对联系人进行删除操作,通过菜单功能可以显示所有联系人、删除所有联系人、并备份SD卡功能。
在联系人详细信息界面点击MENU键弹出通讯功能框选择拨打电话按钮或者发信息发邮件按键。
图4-3系统运行流程
3.5系统功能设计
根据手机功能调查显示,近十成消费者都会使用手机通讯录功能,随着手机通讯录功能的不断加强与完善,手机通讯录的意义,已不仅仅像电话薄一样显示电话号码,而是向着个性化、人性化的方向发展。
通讯录从无到有,从英文到中文,经历了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个联系人之下有手机号码、固话号码、公司、住址、邮箱、备注等内容。
手机通讯录扮演着与用户直接交互并且提供服务的重要角色,它需要提供良好的用户体验,方便用户操作,接收用户的操作并把这些操作转换成相应的命令,采用用户活动的方式完成各个服务的逻辑流程。
其功能主要包括以下几方面内容。
1、增加、删除、编辑联系人
点击通信录界面中的增加按钮,进入增加联系人界面。
输入联系人的基本信息,并可根据用户需求增加个性化信息如头像、姓名、手机号码、办公室电话、家庭电话、职务职称、单位名称、地址、邮政编码、Email、其他联系方式、备注这些信息,单击确认返回主界面。
点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改联系人的资料或进行删除联系人操作,完成后退回到主界面。
对列表中联系人的标记,点击menu键弹出功能界面上的删除按键也可进行删除。
还可以在菜单上选择删除全部联系人来清空通讯录。
在删除联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则联系人信息将继续保存。
2、查找联系人
用户点击menu键打开底部菜单框,底部菜单框为查询联系人提供入口,进入通讯录的缺省页面为联系人列表,在列表中看到所有联系人的姓名、电话信息排列,用户点击查找按键输入联系人基本信息,通讯录显示所有符合查询条件的联系人列表,用户选择一个联系人进入联系人基本信息页面进行其他操作;查询完成,用户按返回键返回主界面。
3、通讯功能
用户在通讯录选择联系人进入联系人详细信息界面,这时点击menu键打开通信功能框,选择打电话、发信息还是发邮件的功能进行操作。
4、菜单功能
通过对menu按键的点击,显示底部菜单框,包含有增加、查找、删除、菜单、返回功能,菜单按键则包含显示所有、删除所有、备份SD卡等实用功能。
3.6数据库设计
该程序数据库是在Android平台上执行Java代码,通过DVM编译来建立的,由于整个SQLite数据库是非可视化操作,因此所有对数据库的操作都是通过执行Java代码实现。
且表的设计也尽量优化,没有错综复杂的关系,每张表都是独立的,不存在任何约束,因此数据库也是独立数据库。
本系统为了实现文本管理功能,需要建立文本信息表database,文本信息表database中需要包含的属性有id,name,mobilephone,officephone,familyphone,address,emial,company,remark,imageid,文本信息表database如表4-1所示:
表4-1文本信息表database
属性
数据类型
说明
_id
Integer
自动增加的主键
Name
Integer
姓名
Mobilephone
String[]
手机号
Officephone
String[]
办公室号
Familyphone
String[]
家庭号码
Address
String
地址
String
邮箱
Company
String
公司地址
Remark
Integer
标记
Imageid
Integer
图片号
3.7安全需求
Android安全中的一个重要的设计点是在默认的情况下应用没有权限执行对其他应用程序,操作系统或用户的有害操作。
这些操作包括读取用户的隐私数据,访问网络,保持设备活动等等,应用程序的进程是一个安全的黑盒子,在没有给它权限的时候它不能干扰其他应用程序。
3.8本章小结
本章主要从系统的需求分析设计、系统结构的设计、功能模块设计、数据库设计方面展开。
系统的结构设计主要从系统的整体框架结构、系统体系结构、系统功能模块结构设计展开。
系统的数据库设计主要从系统的数据库的结构设计与系统数据表的逻辑结构的设计展开。
4通讯录实现
4.1Android开发平台搭建
Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。
只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的JavaSDK(其中包括JRE:
JavaRuntimeEnvironment)。
此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的AndroidSDK。
同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。
简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。
(1)JavaSDK
(2)Eclipse
(3)AndroidSDK
(4)ADT
Android开发平台搭建步骤:
(1)首先到http:
//www.eclipse.org/downloads/下载Eclipse集成开发环境并且解压,这里推荐下载JavaEE集成版本。
去站点下载SDK后安装,下载SDK1.5后解压。
第一步下载工序就结束了。
(2)双击Eclipse解压后目录中的eclipse.exe然后启动,选择Eclipse菜单中的Help->InstallNewSoftware->AvailableSoftware,点击右侧的“Add”输入http:
//dl-with”下拉菜单中选择刚才输入的网址。
过一会就会出现一个DeveloperTools选项,勾上以后点击Next以后Eclipse会自动网上查找Android开发工具插件,然后要到AndroidDDMS和AndroidDevelopmentTools,选中这两个点击Finish,Eclipse就会自动下载并安装Android插件了,最后会提示重启Eclipse。
(3)重启后选择Eclipse菜单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 手机 通讯录 设计 实现 方案