ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:212.87KB ,
资源ID:10112614      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10112614.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Android平台的日历提醒软件的设计与实现.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Android平台的日历提醒软件的设计与实现.docx

1、基于Android平台的日历提醒软件的设计与实现1 引言随着移动互联网的高速发展,人们已经无法离开移动终端,智能手机也已经越来越普及,对人们的生活产生了巨大的影响,人们可以随时随地使用手机,随时随地来查看信息,随时随地用来上网等,当然也急需青春地了解到自己每天所需要完成的事情,或是需要记录一些容易忘记的重要事件,并能有一个功能完善的软件来帮助人们完成这些事情。在这样的大背景下,基于安卓平台的日历提醒软件也逐渐进入安卓开发者的视野中。1.1 课题背景Andod是一种基于Linux平台的开放源代码的操作系统,主要使用在移动终端上。Androd操作系统最初由AnyRbin开发,最早的时候主要用在手机

2、平台上。205年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。211年第一季度,Adroid在全球的市场份额首次超过塞班系统,跃居全球第一。 211年11月数据,ndrod占据全球智能手机操作系统市场52.5的份额,中国市场占有率为8%。Android是一种开放源代码的操作系统,随着Adroid的迅速发展,如今许多开发者运用其他不用的编程语言来编写Andro应用程序,如今已经不再是以前那种只允许运用Ja语言来开发Androi应用程序的单调局面,因此众多开发者更加欢迎Adid平台,Adrid已经成为第一个真正的开放式操作系统。1.2 研究的目的与意义进入互联

3、网时代之后,随着人们对信息需求量,准确性的加大。人们对时间,日期的准确性有更大的需求,传统的日历已经不能满足人们的要求,电子万年历应运而生,大大方便了人们对时间日期的掌握,使每个用户都能随时在电脑旁边掌握日期,节日等信息。但是随着进入2世纪移动互联网高速发展的时代,人们每时每刻都在使用移动终端,智能机已经被普及,大量进入人们手中,人们不管在何时何地都能利用移动终端来查看各类消息等,当然无论在任何时候,人们需要准确地掌握日期、节日,提醒等重要消息,手机版日历提醒系统就在这样的大背景下被开发出来。本文提到的日历系统是一款专注于为用户提供时间管理的Adrd软件,兼备公历、中国农历、各类节日、实时提醒

4、等信息,方便用户每一天的生活。几乎在每一台Andid手机上都有一款相同功能的软件。Androd操作系统作为目前最风靡与社会中的手机操作系统,按照当前Android的市场占有率而言,本款软件非常具有市场应用价值。1.3 国内发展状况当前,国内的Arid开发事业还是以程序应用开发为重点,主要分成类:为各个企业开发应用程序、开发通用应用程序以及开发游戏程序。第一类开发人员一般身处财力较雄厚的大公司,这些公司主要为自己公司品牌或者其他著名品牌设计移动终端的总体方案。除了根据用户需求对系统进行特定的修改意外,更多的工作是为这些移动终端编写特别定制的应用程序。第二类开发者,一般处于自主创业型或者是自主开发

5、者,他们的盈利模式主要有2种:为一些大型公司进行外包服务,或者通过Goole平台的移动终端广告,通过其他用户来点击广告从而获得广告点击分成。而理论上利用付费下载的模式来取得盈利的,目前国内基本没有成功的例子。1.研究内容为了实现基于Andri平台的日历提醒软件,本文主要围绕基于Anoid平台的开发应用程序的整体思路,设计开发、实现功能等流程做了具体的描述,并对农历的日历算法做了简洁明了的描述。2 相关技术介绍21Sqlite技术2.1 qilte介绍SQLe,是一款小型的数据库,是遵从CID的关联式模式的数据库管理系统,它的设计目标是基于嵌入式的小型数据库的,而且目前它已经被运用到很多嵌入式产

6、品中,它占用系统资源非常少,在一些嵌入式设备中,几百KB的内存就能够满足系统的需要。它支持idws/Linx/Unix等许多的主流操作系统,同时与很多程序语言能够结合,比如 Xm、PHP、Jaa等,还有BC接口,同样比起ys、PostgreSQL这两款开源程序语言界最著名的数据库管理系统来说,它的处理速度比他们快的多。SQite第一个ph版本于000年5月诞生 到目前已经12年了,ite也发布了一个新的版本 SLit 3。2.2 Sqlit支持的SQL语句ite虽然相对于其他数据库非常的小,但是支持Sqie的Q语句绝对不会比其他开源数据库差劲,它所支持的QL语句包括: ATHDTAASE、EI

7、NTRANSCTION 、coent 、COMTTNSACTION 、CP 、AE IDX 、CATE TBLE 、CRETETRGER 、CREATE VI 、DETE、DETAC DATAS 、DROP ND、DROPTAL 、DPTGGR 、O VIEW 、NDTRACION 、EXPLAN、eprssio、NERT、N COFCT cla 、PRGMA 、REPLE、ROLLBACKRANSATON 、SELE 、UPDATE。2.1.3 Slit的特征1.AID事务。2.零配置无需进行复杂的安装和繁琐管理配置。3.一个完整的数据库中能够存储一个存在在单一磁盘中的文件。4.在不同字节顺

8、序的机器间能够自由地共享数据库文件。5.数据库大小能够拓展到2TB。6.规模足够小小,只要万行代码即能实现功能,大小约为50。7.在大部分的普通数据库中的操作要比在一些流行数据库中快。8.简单,轻松的AI。.包含TL绑定,同时通过Wape支持其他语言的绑定。1良好注释的源代码,并且有着 9%以上的测试覆盖率。11.独立: 没有额外依赖。2.Sour完全的Ope,你可以用于任何用途,包括出售它。3.支持多种开发语言,C, PHP, Perl, Java, C, yhn。2.2WeSrvice技术2.2.1WebServc简介WebSvic是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作

9、系统中实施运行;它是一种新的eb应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。eb erve是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(ttp,ML,oap)来访问WebServce,通过e erice内部执行得到所需结果.e Serice可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他WeSrvice应用程序可以发现并调用它部署的服务系统功能需求。222WebSevic技术和规则1XL:描述数据的标准方法。OA:表示信息交换的协议4。简单对象访问协议,简单对象访问协(SOAP)是一种轻

10、量的、简单的、基于XML的协议, A 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HT),简单邮件传输协议(MTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。它是用来交换结构化和固定在网络上的信息。3.WSDL:是ebSrice的描述语言:用于描述Web ervice的接口信息等。4.UDD(ieraDecrpion, iscovey and Integratio):通用描述、发现与集成,它是一种基于XML语言的独立于平台之外的用于在描述互联网上的商务的协议。2.3Anrid平台. ndod平台简介Android是基于i

11、nu内核的操作系统,是Googe公司在200年1月日公布的手机操作系统5。刚开始的时候,是一个名为An的公司来进行开发的,谷歌在205年收购Anid公司以后,继续进行对rod系统的开发以及运营,它采用了软件堆层(soware stack,又名软件叠层)的架构,主要分为三部分。Linux内核只提供底层功能,其他的应用软件则由各个使用Android来进行开发的公司进行自行开发,部分程序以v语言来编写。2.3.2Anid应用程序框架Android会同一系列核心应用程序包一起发布,该应用程序包包括mail客户端,SMS短消息程序、日历、地图、浏览器,联系人管理程序等。利用Jva语言编写其他所有应用程序

12、。核心应用程序所使用的A框架可以完全被开发人员所访问。该应用程序的架构设计简化了组件的重用;任何应用程序都可以发布其功能、发布任何其他块的应用程序,可以利用他们发布的功能块(需要遵循的安全限制的框架)。同样,用户可以利用应用的程序重用机制更方便的替换程序组件。Anrid应用程序背后都隐藏了许多服务其中包括:视图(Vew),可以用来构建应用程序,它包括文本框(teoes),按钮(buto),列表(lists),网格(grids),甚至可以将这些元素嵌入到W浏览器。内容提供器(onten Piders),共享它们自己的数据时都需要内容提供器的服务,或者当一个应用程序想要访问另一个应用程序的数据(如

13、联系人数据库)。资源管理器(Rsourc Mager),它可以提供如图形和布局文件( laout fils )非代码资源的访问8 、本地字符串。通知管理器(fatin Manag),自定义的提示信息显示在应用程序可以在状态栏中。活动管理器( ivit Mer),用来管理应用程序生命周期,并提供常用的导航回退功能,是nid开发中的重要的服务系统。Adoid具有一个能够分层的环境,在Lix内核的基础上构建,它包含了各种功能。I子系统包括:窗口,视图。Android与Phne 的 ie Safr 浏览器具有同样以WbKit 为基础的包括一个构建在ebKit 基础上的可嵌入浏览器,。Anrid 提供多

14、种连接选项,包括 WiFi、蓝牙和通过蜂窝(clar)连接的无线数据传输(例如 GPS、EDGE 和 3)9。链接到Goole 地图是Anrd 应用程序中一项流行的技术。并不是所有的 ndrd 设备都配备了必需的硬件,但是Adoid软件栈还提供对基于位置的服务(例如 GS)和摄像支持,另外还有加速计的支持。过去,移动应用程序的两个领域分别是图形/媒体和数据存储方法努力向桌面应用程序看齐。Adroid利用对内置D 和3D 图形的支持,其中包括 penGL 库,解决了图形方面的问题,因此缓解了数据存储的负担。 ndrod 软件层次结构。如图 21所示。图2- Andoid软件层次结构 应用程序架构

15、。如前所述,Adri 运行在 Lnx 内核上。Androd 应用程序是在一个虚拟机(V)中运行的利用 a 编程语言编写二乘的。需要注意的是,这个 与我们通常所说的JVM不同,它是 DalvkitualMchi,这是一种开源的虚拟机技术。23.3系统运行库(1) 程序库Androd包含一些C语言、C+语言库, Anoi系统中各类不同的组件能够使用这些库。开发者通过Aroid应用程序框架来获取一些服务,以下是一些核心库:系统C库:专门为基于embeded lnux的设备定制的从BS继承来的标准C系统函数库(lic)。媒体库:基于PacetVideoOpenRE;该库支持静态图像文件,同时支持多种常

16、用的音频、视频格式回放和录制。编码格式包括MPE4、H.264、M3、AA、A、PG,NG。Sufce Maaer:对有显示子系统进行管理。 bWbCore:一个eb浏览器引擎器,支持一个可嵌入的web视图和Andro浏览器。SGL:底层的D图形引擎。3D liraris:基于enGLES1. APIs的实现1。reTye:位图(bitmap)和矢量(vector)字体显示。SQLe:一个轻量级的数据库(2)nrd运行库Aroid包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能1。Dalik虚拟机依赖于linx内核的一些功能,比如线程机制和底层内存管理机制12。2.4Xml技

17、术2.4.1m简介可扩展标记语言 (Etesibe Mrkup Lnguage, XL),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据,定义数据类型的一种技术,允许用户定义自己的标记语言的源语言。ML是非常适合Web传输的标准通用标记语言(SL)的子集。X 通过一种方法来描述和交换结构化数据。2.2 Xml格式特征XL不同于Aess,Orale和SQL Serv等数据库,数据库提供了更完善的数据分析和存储能力,例如:排序、查找、数据索引等,而M只是完成存储数据的功能。但是ML与其他数据表现形式相比最大的有点是:他极其简单。XML与HTML的设计最大的区别在于:M是被设计用来对数据

18、进行储存的的。而TML是被设计用来对数据的外观进行显示。ML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持ML,那就意味着程序可以更容易的与Windws,c OS,inux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以L格式输出结果13。为了让SGML对用户显示的更加具有亲和力,XM需要定义ML的一些内部值和参数,去掉一些会能使得GML在设计网站时非常复杂的功能。XML保留的结构特征,使设计者可以定义自己的文档类型,ML还推出了一个新的文档类型,使开发人员可以

19、不需要定义文档类型。但是SGML也出现了我们下面列出的这些奇怪的问题:1 某些起始标签不允许例如HML中mg标签的结束标签。2 某些起始标签可以选择性出现结束标签或者隐含了结束标签。3 某些起始标签要求必须出现结束标签:例如HTML中标签。4 标签可以以任何顺序嵌套:即使结束标签不按照起始标签的逆序出现也是允许的,例如,Thi s saple stg是正确的。这些问题使建立一个SGL语言的解析器变成了一项艰巨的任务。判断何时应用以上规则的困难导致了SGML语言的定义一直停滞不前。以这些问题作为出发点,XM逐渐步入我们的视野。XL去掉了之前令许多开发人员头疼的SM的随意语法。在XML中,采用了如

20、下的语法:1 任何的起始标签都必须有一个结束标签。2 可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),例如。XM解析器会将其翻译成/tag。 标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签,例如this s a smlsring。这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。4 所有的特性都必须有值。5所有的特性都必须在值的周围加上双引号。这些规则使得开发一个XML解析器要简便得多,而且也除去了解析SG中花在判断何时何地应用那些奇怪语法规则上的工作。仅仅在X

21、M出现后的前六年就衍生出多种不同的语言,包括MahM、SVG、RDF、RSS、SAP、SL-F,而同时也将HL改进为XTM。对于控制解析器的应用程序而言,一次循环是必要的,因为应用程序很容易在嗅探前面几行之后停止读入。3 需求分析3.1 系统需求系统的全面性:nri版电子万年历使用对象面对的是大部分Android手机用户群体,因此,系统要满足大部分Andid用户的需要。3.2 技术需求系统技术的先进性:ndid版电子万年历采用现在最火的移动终端系统安卓系统,利用分层设计的原则。需要开发人员熟悉nid编程和Java编程。并且对万年历的算法有深刻的理解,并对ndoi界面绘制有一定的掌握,对Sqli

22、te数据库,ebService技术和Xml解析技术都有一定的了解。3.3 维护需求系统的易维护性:本软件是一款客户端手机软件,有新版本的时候服务器端会自动通知客户端更新,在进行系统维护时候,只需要把最新软件放到服务器端,客户端会自动下载,减少了维护的成本和周期。3.4 安全需求系统的安全性:本系统由于是一款客户端手机软件,对安全性需求比较低,数据库方面,主要针对本地数据库操作,不涉及和服务器数据交换,故而对数据的安全性要求没那么高。3.5 系统可行性分析3.5.1 经济上的可行性本软件开发在经济上需求比较低,只需要一台开发用的电脑和模拟器就可以了。开发周期比较短,经济上需求低。3.5.2 技术

23、上的可行性本软件主要采用Java语言在Anroi平台上编写,Java语言具有如下特点:.面向对象Java语言是面向对象设计的程序编程语言,代码继承及重用包括两种不同的风格:动态风格和静态风格。它允许在程序运行的过程中装入程序所需要被装入的类。这些功能是C+语言在进行面向对象程序的设计中无法实现的。.平台无关性程序编译会形成一个结构中间的中性文件格式(字节码文件)。这种中间字节码能够在装有ava运行系统(av虚拟机)的机器上执行。这些字节码指令有Ja虚拟机来执行,a虚拟机的解释器在获取字节码后,能够把这字节码转换并执行,而不是通过操作系统来完成这些功能。所以不管是Windows、nux还是Sol

24、ais或者是其他不同的操作系统,Jva程序都能够直接运行,真正完成“Wie nce,u ywe”的功能。3.分布式aa应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同这归功于Jaa包含了一个支持HTTP、FT和SNMP等基于TP/IP协议的子库。这将使得屌用Java分布式环境特别是ntent环境提供动态内容将会更简单。4.稳定、安全Jav的异常处理机制可以检查出错误, 出现在许多开发早期。Jaa通过自己操纵内存使得内存出错的可能性大大减小。Jv使真数组得到了实现,从而避免了数据被覆盖的可能。av提供Null指针检查数组边界,检测异常出口字节代码效验。所以Ja

25、具有强大和稳定的功能特性,大大缩短了应用程序开发周期。在安全性方面,删除了设置指针和释放内存等C语言的功能,避免了因为非法操作内存而引起的安全问题。5.多线程Jaa的多线程功能允许一个程序可以同时执行多个小任务。线程是一个比较大的进程中分散出来的独立的小进程,通常被开发人员称为小进程。因为Jva多线程技术在程序中进行实现,所以Jva比C语言和C语言更全面,更适应不同的编程语言平台。更好的交互性能够对性能进行实时控制是多线程带来的更大的好处。当然系统本身决定实时性能,单线程在开发难度和性能上都比不上多线程。任何有过当前浏览器使用经验的人,都会有这么一种感觉:当他只为了某一副图片而等待很长时间时,

26、会让人感到非常的不舒服。在Jav里。你可以用一个单线程来调一副图片,这时你可以访问HTML里的其他信息而不必等他15。3.53社会条件方面的可行性1.市面上应用种类非常多,涉及到的领域广,系统设计比较复杂。.本款软件界面设计清晰,简单易用,通俗易懂。.5.4市场条件方面的可行性1.简单易用,通俗易懂。2.程序运行安全。4 Androi日历软件的概要设计4.1 功能需求4.1.1 系统业务用例分析众所周知,用例分析是用例之间的关系,角色和用例描述系统的一个外部需求的方法。作为M表示方法中的最重要的期中一种,用例分析法在系统分析中有着非常重要的作用;所以,正确的使用用例分析方法能够对本文所提到的需

27、求分析、结构设计、程序完成进度安排、测试和验证。下 面综合用户的需要,利用系统用例图进行分析。图-1为用户业务用例图设置时间 图4-1 用户业务用例图4.1.2 系统业务用例分析1.日期、星期的查看功能:用户进入软件后,能够查看当前的日期、这是第几周等。用户还能自己选择任意的日期来查看需要的信息。.写日志、提醒功能:用户可以添加自己的事件,并且能够随时修改时间,修改事件名称,当时间到达那个节点时,会通过铃声和震动提醒用户。4.2 功能模块设计功能模块图如4-2所示。图4-2 功能模块图1.主界面设计:用户点击软件图标,打开软件,当前界面上可以显示当前的日期,并且当前的日期比其他日期的亮度更高,

28、而且能看到农历和公历对照。用户可以通过点击不同的按钮来切换不同的日期,可以通过点击“今天”这个按钮来返回查看今天的具体日期。2用户可以单击手机上的菜单按钮,调出菜单界面,从弹出的菜单界面中选择不同的按钮。具体菜单包括:农历、查询、公历、提醒、星座等事件。3.用户通过点击查询菜单,从而能够进入到查询界面。在进入查询界面后,用户可以看到选择日期的界面,通过下拉菜单选择不同的日期,可以查看用户选择的当前日期的信息。.用户通过点击日历界面,从而能够进入到日历界面。在日历界面中,用户可以看到不同的按钮,用户通过单击其中一个日期,可以查看日历信息。 5 Android日历软件的系统设计本款软件设计简单操作

29、方便,启动本软件先进入欢迎界面,3s之后进入主程序界面,之后按手机菜单按钮进入功能菜单界面。本软件架包如下:1com.lhl.caendr包里面放所有关于UI的界面。.omlhl.utils工具包。.lhl.ear农历阳历装换。系统架包图如51所示。图5-1 系统架包图5.1 界面设计与实现界面的绘制包括两个部分,一部分在Mai.xml文件中另一部分通过程序代码在程序运行中动态控制。Main.ml文件里面程序主界面的基本布局,里面有些基本的控件,显示当前日期的Texiw和上一年、下一年、上一月、下一月、今天的Bto控件。这些控件是通过.xl写入的是动态的。另一部分-控制主界面日期的显示的布局,是通过代码动态控制的。1.Mn.xl文件中控制:基本布局,通过线性布局作为主布局,主布里面通过几个TextView基本控件实现年份阳历显示和农历的显示,通过Buto按钮控件实现上一年、下一年、上一月、下一月、今天等事件控制。并且在主布局里面写入一个线性布局,在代码中可以通过向这个线性布局里面添加控件,来实现控件的动态添加。2.程序代码中的绘制:通过代码动态绘制日期的布局,并呈现。首先通过pu

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1