版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I基于Android的手机通讯录APP用户界面设计目录TOC\o"1-3"\h\u12910目录 I6122第一章系统概述 1171541.1Android开发的背景及意义 1297001.1.1开发背景 1151821.1.2开发意义 2171361.2Android通讯录开发的目的及环境 236451.2.1Android通讯录的开发目的 2219321.2.2Android通讯录的开发环境 3213871.3Android的优势 311480第二章Android开发环境的搭建及技术支持 4312062.1Android开发环境的搭建 4211952.2Android系统架构 7264022.2.1应用程序 7285392.2.2应用程序框架 7243242.2.3系统运行库 8114192.2.4Linux内核 934412.3Android开发的技术支持 9295842.3.1Java高级开发语言 914080第三章系统分析 1172183.1系统可行性分析 11274643.1.1技术可行性 1167713.1.2经济可行性 11118663.1.3操作可行性 11272333.2需求分析 12315563.2.1系统功能分析 1213605第四章总体设计 13203794.1功能结构图 13160934.2SqLite数据库设计 1412376第五章详细设计 16277955.1浏览联系人界面 16231795.2查看联系人界面 18272925.3查找联系人界面 1999015.4编辑修改联系人界面 20325395.5电话菜单界面 21第一章系统概述本章主要介绍了Android的开发背景以及意义,简单的介绍了Android平台以及优缺点,还有此次开发Android通讯录的目的以及环境。1.1Android开发的背景及意义1.1.1开发背景Android是一种以Linux为基础的开放源码操作系统,主要适用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方)。Android操作系统最初由AndyRubin开发,最初主要支持手机。2005年由Google收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。2010年末数据显示,仅正式推出两年的操作系统的Android已经超越称霸十年的诺基亚Symbian系统,跃居全球最受欢迎的智能手机平台。Android的主要竞争对手是苹果的IOS,微软的WP7以及RIM的BlackberryOS.Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android的Java程序运行环境包含一组Java核心函数库及虚拟机,它们有效地优化了Java程序的运行过程。Android系统平台基于优化了的Linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的链接层。Android最大特点在于它是一个开放的体系结构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,Android里面具有非常丰富的图形系统,多媒体的支持功能和非常强大的浏览器。根据市场研究公司Gartner的统计数据显示,2010年第二季度,谷歌Android移动操作系统的市场份额上升至17.2%,成功取代苹果iOS晋升为全球第三大移动操作系统。在移动操作系统市场中,排名第一和第二的是诺基亚的Symbian和RIM的黑莓,二者的市场份额分别为41.2%和18.2%。与此同时,应用于苹果iPhone和其他苹果移动设备的iOS的市场份额则出现下滑,跌至14.2%。在2010年第二季度一系列最新智能手机发布以后,Android操作系统在美国个人消费者市场上销售的所有智能手机中份额为33%,超过RIM的28%和苹果的22%基于Android系统的智能手机已经进入到强劲的增长期,Android第二季度在美国市场上的销售量同比大幅增长886%;尼尔森公布报告称,Android手机销售量已经超过了iPhone销售量。1.1.2开发意义智能手机和移动网络的发展使人与人之间随时随地都能自由的沟通交流,从最初的书信交流到现在的动几下手指,便利的同时也让沟通的方式越来越丰富有趣。Android智能手机是当前市场上的热门产品,充满活力的新产品。开放的Android系统给了用户和开发者更多的创新空间,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎。手机通讯录作为手机的基本功能之一,每天我们都在频繁的使用着,根据手机功能调查显示,有9成以上的消费者使用手机通讯录功能。随着手机通讯录功能的不断加强与完善,手机通讯录对人们的意义,已不仅仅像记事薄一样显示通讯地址,而是想着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经过了十几年的发展力历程今后的发展趋势就是从通讯录发展为名片夹,也就是一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性变化,作为手机的必备功能,通讯录的客户体验度在部分程度上决定了一款手机的受欢迎程度,间接的反映出手机的好坏。因此,Android通讯录的开发受到众多移动厂商开发者的注目。1.2Android通讯录开发的目的及环境1.2.1Android通讯录的开发目的通过android模拟器,将用eclipse编写的android通讯录项目进行实现,要求实现增删改查的功能,从而进一步的了解android开发的相关知识,为今后的开发学习打下良好的基础。1.2.2Android通讯录的开发环境编程开发环境为Eclipse3.6+AndroidSDK集成环境,采用Java高级语言编写,使用android模拟器进行项目的测试与实现。1.3Android的优势1.开放性手机平台Android是Google开发的基于Linux平台的开源手机操作系统。Google通过与运营商、设备制造商、手机公司和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的智能手机操作系统,在移动产业内形成一个开放式的生态系统。2.网络集成性很高Android内部集成了大量的google应用,如Gmail、Reader、Map、Docs、Youtube等等,涵盖了生活中各个方面的网络应用,对长期使用网络、信息依赖比较高的人群很合适。3.Android具备创新性自从Google开发出Android后,许多人认为其技术可信度要比其它操作系统略胜一筹,但这并不是用户购买Android智能手机的唯一原因。人们认为Android是一种相对较新的、又较为成熟的技术,在达到巅峰之前还有很大发展空间。4.Android平台在数量上逐渐主宰市场GoogleCEO埃里克·施密特2010年8月初曾表示每天出售20万部Android手机,第三方调查显示该平台发展势头正稳步增长。据市场分析机构NPD发布的数据显示,今年4-6月份发售的智能手机中,33%为Android手机,而RIM手机发售比例为28%,iPhone为22%。5.Android在其他领域的拓展Android不仅促进了手机产业的发展,它的全面计算服务和丰富的功能支持,已将应用拓展到手机以外的其他领域。Android平台的通用性可以适用于不同的屏幕、有线和无线设备。Android系统和应用程序开发人员将更多的涉足多媒体、移动互联网设备、数字视频和家庭娱乐设备、汽车、医药、网络、监测仪器和工业管理、机顶盒等领域。第二章Android开发环境的搭建及技术支持本章主要介绍了一些关于Android开发所必要的先前准备与一些必备知识,如何的去搭建开发环境,选择Java高级语言编写,以及开发所需要的技术支持。2.1Android开发环境的搭建安装Eclipse/download.php?file=/technology/epp/downloads/release/helios/SR2/eclipse-java-helios-SR2-win32.zip。下载“EclipseIDEforJavaDevelopers(92MB)”,得到eclipse-java-galileo-SR1-win32.zip,解压到某目录下,如D:\eclipse,运行其下的“eclipse。exe”,初次运行要设置一下存放程序的目录,如D:\eclipse_workplace。安装AndroidSDK到Android主页下载androidSDK,将其解压到某目录下,如D:\android-sdk-windows,然后设置黄精变量,右击“我的电脑”|“属性”|“高级”|“环境变量”,在系统变量的path变量前加上D:\android-sdk-windos\tools;新版的SDK还需要手动下载Platform,运行D:\android-sdk-windows下SDKManager.exe,如果它提示https不可用,则将settings里的“Forcehttps://...sourcestobefetchedusinghttp://...”这一项悬赏,然后选择左边“AvaliablePackages”,再选择一个SDKPlatform,如“SDKPlatformAndroid2.2,API8,revision1”,安装。如图2.1VirtualDevice:图2.1VirtualDevice3.创建AVD(AndroidVirtualDevice)AVD是PC种的虚拟Android手机设备,新版SDK需手动添加AVD,进入SDK目录,如D:\android-sdk-windows,运行SDKManager.exe,点击左边栏“VirtualDevices”,右边点“New”,弹出创建对话框,给这个SVD随便取个Name,比如手机型号HERO,然后设置Target为某个Android版本,SDCard为虚拟的SVD的SD卡容量,再设置分辨率,如320*480,然后在Hardware添加这台AVD需要的特殊设备,如键盘KeyBoard等,最后点下面“CreateAVD”完成。如图2.2Settings:图2.2Settings4.安装ADT(AndroidDevelopmentTools)不同Eclipse版本对此设置可能不同,运行Eclipse|"Help"|"InstallNewSoftware",在Workwith处填入"/Android/eclipse/",然后下面会出现“AndroidDDSM”和“AndroidDevelopmentTools”,选择者两项,然后next,最后accept,完成。接着就等它自动下载安装,这过程很久,如果出现什么是否继续安装对话框,点继续,安装完成后重启Eclipse。5.在eclipse中配置AndroidSDKLocation参数运行Eclipse,菜单栏“Window”|“Preference”,左边栏点击“Android”邮编SDKLocation跳上上面第2步SDK位置,如D:\android-sdk-windows,点Apply,选择一个Platform,完成。如图2.3RunConfigurations:如图2.3RunConfigurations6.设置Eclipse中AVD运行Eclipse,菜单栏“Run”|“RunConfigurations”,选择AndroidApplication,选择一个configuration,右侧选择“Target”,再选择一个AVD即可。如图2.4:Android版本。图2.4Android版本7.运行运行Eclipse,菜单栏“File”|“File”|“Project”,选择“Android”|“AndroidProject”,如果建立此项目后Eclipse没有列出次项目,这是因为没有设置其显示,在菜单栏“Window”|“ShowView”里选择如PackageExplorer等。然后左侧的PackageExplorer里右键刚刚建立的项目TestDemo,选择最后一个“Properties”,再选择“Run/DebugSettings”,在右侧“New”添加“AndroidJUnitTest”,在弹出的设置里,选择标签“Target”,再选择一个AVD,完成。最后,左侧的PackageExplorer里右键点击项目TestDemo,选择“RunAs”|“AndroidApplication”,看到一台虚拟的Android手机启动就成功啦。2.2Android系统架构Android系统架构和其操作系统一样,采用了分层的架构。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。2.2.1应用程序Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。2.2.2应用程序框架开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统,其中包括:1.丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。2.内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据3.资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。4.通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。5.活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。有关更多的细节和怎样从头写一个应用程序,请参考如何编写一个Android应用程序.。2.2.3系统运行库1.程序库Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:1)系统C库-一个从BSD继承来的标准C系统函数库(libc),它是专门为基于embeddedlinux的设备定制的。2)媒体库-基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。3)SurfaceManager-对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。4)LibWebCore-一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。5)SGL-底层的2D图形引擎6)3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。7)FreeType-位图(bitmap)和矢量(vector)字体显示。8)SQLite-一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。2.Android运行库Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的“dx”工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。2.2.4Linux内核Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。2.3Android开发的技术支持2.3.1Java高级开发语言Java是一种简单的、面向对象的、分布式的、解释的、健壮的安全的、结构的中立的、可移植的,性能很优异的多线程的动态的语言。Java开发的开发环境有不同的版本,如sun公司的JavaDevelopersKit,简称JDK。后来微软公司推出了支持Java规范的MicrosoftVisualJ++Java开发环境,简称VJ++。Java的特点:平台无关性平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。安全性Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问呢。面向对象Java吸收了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。分布式Java建立在扩展TCP/IP网络平台上。库函数提供了HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件盒使用本机文件一样容易。健壮性Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。第三章系统分析本章主要介绍Android通讯录开发的可行性依据,以及Android通讯录相关的功能需求介绍。3.1系统可行性分析3.1.1技术可行性Android的系统架构和其它操作系统一样,采用了分层的架构。android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层。Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,通过Eclipse3.6+AndroidSDK集成环境,以Java高级语言进行编译,通过Android模拟器就可以完成通讯录的实现,因此技术上可行。3.1.2经济可行性开发所需的相关资料可以通过已存在的相关系统进行调查采集,所需的软件系统、硬件平台等都易于获得,且不需要Android平台机器,用模拟器即可实现开发研究,开发成本低,容易实现,从经济角度上看可行。3.1.3操作可行性Android通讯录既可以在Android手机上实现,也可以在模拟器上实现,实现方便,系统是利用自己的计算机,使用Android模拟器,并在本地上安装JDK、Android跟Eclipse作为软件的开发平台,使开发出来的系统有很方便地用户界面、操作起来就像使用手机一样,操作简单,因此在操作上是可行的。3.2需求分析3.2.1系统功能分析新用户的添加功能对于新的联系人,手机用户可以添加新联系人的头像、姓名、手机号码、家庭号码、办公室号码、职务名称、单位名称、地址、邮政编码、Email\其他联系方式,备注这些信息。查找联系人可以输入联系人名字或者手机来查找联系人的信息,使用模糊查找,并不需要写全名或是完整的电话号码,系统会自动匹配联系人信息与所查信息,方便用户快速找到联系人,查询结果显示在联系人浏览界面中。删除联系人在联系人浏览界面,左键选中所要删除的联系人,然后点击删除按钮,该联系人则被删除,另外还可一在菜单按钮中选择删除所有按钮,一次性清空联系人列表。修改联系人进入查看联系人界面,点击修改按钮,进入编辑状态,则可以重新编辑联系人信息。修改过后点击保存修改,则修改完成。打电话、发短信在查看联系人界面中,点击MENU菜单,会跳出打电话,发短信,发邮件的选择菜单,如果该联系人有多个联系方式,那么在给该联系人打电话的时候会出现一个选择电话号码的界面,选择要联系的电话号码,就会跳出电话连接的状态。发短信会跳出一个EditView视图制作的输入框,输入所要发送的信息内容,点击Send发送。联系人备份,还原在菜单按钮中有备份数据这一按钮,可以将当前所有的联系人信息备份保存在SD卡中。当联系人信息不小心被删除后,可以通过另一按钮还原数据来还原联系人,给用户带来方便。总体设计本章主要涵盖了系统的功能结构图以及SQLite数据库设计。4.1功能结构图Android手机通讯管理软件主要功能包括:联系人添加、联系人查看、联系人编辑、联系人删除,联系人查找,打电话,发短信等如图4.1功能结构图所示。基于Android系统的通讯录基于Android系统的通讯录其他功能分组功能删除联系人修改联系人新增联系人查找联系人其他功能分组功能删除联系人修改联系人新增联系人查找联系人删除分组分享发短信打电话移动分组修改头像修改信息修改分组新建分组删除分组分享发短信打电话移动分组修改头像修改信息修改分组新建分组图4.1功能结构图4.2SqLite数据库设计SQLite,是一款轻型的数据库。SQLite的主要设计目标是嵌入式软件,因而占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Rel、C#、PHP、Java等,并且SQLite的处理速度很快。Android程序可以使用SQLite来存储结构化的数据。SQLite所支持的数据类型:
SQLite,SQLite3支持NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n)、char(n)、decimal(p,s)等数据类型,只不过在运算或保存时会转成对应的五种数据类型。
SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。但有一种情况例外:定义为INTEGERPRIMARYKEY的字段只能存储64位整数,当向这种字段保存除整数以外的数据时,将会产生错误。另外,SQLite在解析CREATETABLE语句时,会忽略CREATETABLE语句中跟在字段名后面的数据类型信息。Android通讯录主要的数据库表是user表:如表4-1user表:表4-1user表属性数据类型说明_idinteger联系人IDnamestring姓名mobilephonestring手机号码officephonestring公司电话familyphonestring家庭电话addressstring地址othercontactstring其他联系方式emailstring电子信箱positionstring职位名称companystring公司名称zipcodestring邮编remarkstring备注imageidint头像ID第五章详细设计本章主要介绍了Android通讯录的部分工作界面,以及对各个界面操作所产生的结果,并附出相关截图,从而了解此次设计。5.1浏览联系人界面进入手机通讯录管理软件后,看到的第一个界面是联系人列表界面。该列表时由RelativeLayout控件生成的,打开数据库(如果数据库不存在则创建数据库,并创建数据表contacts),查找数据库中所有的联系人,并把联系人name和mobilephone这两项填充到中TextView中。联系人浏
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物标志物指导MDT止吐方案制定
- 生物标志物在药物临床试验中的技术进展
- 生物打印技术在牙髓再生中的材料选择
- 生物制剂失应答的炎症性肠病长期随访管理
- 生物制剂失应答后IBD的并发症管理策略-1
- 深度解析(2026)《GBT 20275-2021信息安全技术 网络入侵检测系统技术要求和测试评价方法》
- 搜索引擎优化面试题及实操案例分析含答案
- 航空公司空乘人员面试问题集
- 电商企业人力资源主管面试题答案
- 软件测试工程师面试指南技能与经验
- 生产插单管理办法
- DB64T 2146-2025 工矿企业全员安全生产责任制建设指南
- 山东动物殡葬管理办法
- 工程竣工移交单(移交甲方、物业)
- 服装生产车间流水线流程
- 常见的胃肠道疾病预防
- 2024-2025学年江苏省徐州市高一上学期期末抽测数学试题(解析版)
- 新解读《DL-T 5891-2024电气装置安装工程 电缆线路施工及验收规范》新解读
- 生产部装配管理制度
- DB31/T 1205-2020医务社会工作基本服务规范
- 酒店供货框架协议书
评论
0/150
提交评论