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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本科毕业设计说明书(论文)第1页共27页1引言随着移动互联网的高速发展,人们已经无法离开移动终端,智能手机也已经越来越普及,对人们的生活产生了巨大的影响,人们可以随时随地使用手机,随时随地来查看信息,随时随地用来上网等,当然也急需青春地了解到自己每天所需要完成的事情,或是需要记录一些容易忘记的重要事件,并能有一个功能完善的软件来帮助人们完成这些事情。在这样的大背景下,基于安卓平台的日历提醒软件也逐渐进入安卓开发者的视野中。1.1课题背景Android是一种基于Linux平台的开放源代码的操作系统,主要使用在移动终端上。Android操作系统最初由AndyRubin开发,最早的时候主要用在手机平台上。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上[1]。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2011年11月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为58%[2]。Android是一种开放源代码的操作系统,随着Android的迅速发展,如今许多开发者运用其他不用的编程语言来编写Android应用程序,如今已经不再是以前那种只允许运用Java语言来开发Android应用程序的单调局面,因此众多开发者更加欢迎Android平台,Android已经成为第一个真正的开放式操作系统。1.2研究的目的与意义进入互联网时代之后,随着人们对信息需求量,准确性的加大。人们对时间,日期的准确性有更大的需求,传统的日历已经不能满足人们的要求,电子万年历应运而生,大大方便了人们对时间日期的掌握,使每个用户都能随时在电脑旁边掌握日期,节日等信息。但是随着进入21世纪——移动互联网高速发展的时代,人们每时每刻都在使用移动终端,智能机已经被普及,大量进入人们手中,人们不管在何时何地都能利用移动终端来查看各类消息等,当然无论在任何时候,人们需要准确地掌握日期、节日,提醒等重要消息,手机版日历提醒系统就在这样的大背景下被开发出来。本文提到的日历系统是一款专注于为用户提供时间管理的Android软件,兼备公历、中国本科毕业设计说明书(论文)第2页共27页农历、各类节日、实时提醒等信息,方便用户每一天的生活。几乎在每一台Android手机上都有一款相同功能的软件。Android操作系统作为目前最风靡与社会中的手机操作系统,按照当前Android的市场占有率而言,本款软件非常具有市场应用价值。1.3国内发展状况当前,国内的Android开发事业还是以程序应用开发为重点,主要分成3类:为各个企业开发应用程序、开发通用应用程序以及开发游戏程序。第一类开发人员一般身处财力较雄厚的大公司,这些公司主要为自己公司品牌或者其他著名品牌设计移动终端的总体方案。除了根据用户需求对系统进行特定的修改意外,更多的工作是为这些移动终端编写特别定制的应用程序。第二类开发者,一般处于自主创业型或者是自主开发者,他们的盈利模式主要有2种:为一些大型公司进行外包服务,或者通过Google平台的移动终端广告,通过其他用户来点击广告从而获得广告点击分成。而理论上利用付费下载的模式来取得盈利的,目前国内基本没有成功的例子。1.4研究内容为了实现基于Android平台的日历提醒软件,本文主要围绕基于Android平台的开发应用程序的整体思路,设计开发、实现功能等流程做了具体的描述,并对农历的日历算法做了简洁明了的描述。本科毕业设计说明书(论文)第3页共27页2相关技术介绍2.1Sqlite技术2.1.1Sqilte介绍SQLite,是一款小型的数据库,是遵从ACID的关联式模式的数据库管理系统,它的设计目标是基于嵌入式的小型数据库的,而且目前它已经被运用到很多嵌入式产品中,它占用系统资源非常少,在一些嵌入式设备中,几百KB的内存就能够满足系统的需要。它支持Windows/Linux/Unix等许多的主流操作系统,同时与很多程序语言能够结合,比如Xml、PHP、C#、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源程序语言界最著名的数据库管理系统来说,它的处理速度比他们快的多[3]。SQLite第一个Alpha版本于2000年5月诞生.到目前已经12年了,SQLite也发布了一个新的版本SQLite3。2.1.2Sqlite支持的SQL语句SQLite虽然相对于其他数据库非常的小,但是支持Sqlite的SQL语句绝对不会比其他开源数据库差劲,它所支持的SQL语句包括:ATTACHDATABASE、BEGINTRANSACTION、comment、COMMITTRANSACTION、COPY、CREATEINDEX、CREATETABLE、CREATETRIGGER、CREATEVIEW、DELETE、DETACHDATABASE、DROPINDEX、DROPTABLE、DROPTRIGGER、DROPVIEW、ENDTRANSACTION、EXPLAIN、expression、INSERT、ONCONFLICTclause、PRAGMA、REPLACE、ROLLBACKTRANSACTION、SELECT、UPDATE。2.1.3Sqlite的特征1.ACID事务。2.零配置–无需进行复杂的安装和繁琐管理配置。3.一个完整的数据库中能够存储一个存在在单一磁盘中的文件。4.在不同字节顺序的机器间能够自由地共享数据库文件。5.数据库大小能够拓展到2TB。6.规模足够小小,只要3万行C代码即能实现功能,大小约为250K。7.在大部分的普通数据库中的操作要比在一些流行数据库中快。8.简单,轻松的API。9.包含TCL绑定,同时通过Wrapper支持其他语言的绑定。本科毕业设计说明书(论文)第4页共27页10.良好注释的源代码,并且有着90%以上的测试覆盖率。11.独立:没有额外依赖。12.Source完全的Open,你可以用于任何用途,包括出售它。13.支持多种开发语言,C,PHP,Perl,Java,C#,Python。2.2WebService技术2.2.1WebService简介WebService是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。WebService是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问WebService,通过WebService内部执行得到所需结果.WebService可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他WebService应用程序可以发现并调用它部署的服务系统功能需求。2.2.2WebService技术和规则1.XML:描述数据的标准方法。2.SOAP:表示信息交换的协议[4]。简单对象访问协议,简单对象访问协(SOAP)是一种轻量的、简单的、基于XML的协议,SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。它是用来交换结构化和固定在网络上的信息。3.WSDL:是WebService的描述语言:用于描述WebService的接口信息等。4.UDDI(UniversalDescription,DiscoveryandIntegration):通用描述、发现与集成,它是一种基于XML语言的独立于平台之外的用于在描述互联网上的商务的协议。2.3Android平台2.3.1Android平台简介Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统[5]。刚开始的时候,是一个名为Android的公司来进行开发的,谷歌在2005年收购Android公司以后,继续进行对Android系统的开发以及运营,它采用了软件堆层(softwarestack,又名软件叠层)的架构,主要分为三部分。Linux内核只提供底层本科毕业设计说明书(论文)第5页共27页功能,其他的应用软件则由各个使用Android来进行开发的公司进行自行开发,部分程序以Java语言来编写。2.3.2Android应用程序框架Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序、日历、地图、浏览器,联系人管理程序等[7]。利用Java语言编写其他所有应用程序。核心应用程序所使用的API框架可以完全被开发人员所访问。该应用程序的架构设计简化了组件的重用;任何应用程序都可以发布其功能、发布任何其他块的应用程序,可以利用他们发布的功能块(需要遵循的安全限制的框架)。同样,用户可以利用应用的程序重用机制更方便的替换程序组件。Android应用程序背后都隐藏了许多服务其中包括:视图(Views),可以用来构建应用程序,它包括文本框(textboxes),按钮(buttons),列表(lists),网格(grids),甚至可以将这些元素嵌入到Web浏览器。内容提供器(ContentProviders),共享它们自己的数据时都需要内容提供器的服务,或者当一个应用程序想要访问另一个应用程序的数据(如联系人数据库)。资源管理器(ResourceManager),它可以提供如图形和布局文件(layoutfiles)非代码资源的访问[8]、本地字符串。通知管理器(NotificationManager),自定义的提示信息显示在应用程序可以在状态栏中。活动管理器(ActivityManager),用来管理应用程序生命周期,并提供常用的导航回退功能,是Android开发中的重要的服务系统。Android具有一个能够分层的环境,在Linux内核的基础上构建,它包含了各种功能。UI子系统包括:窗口,视图。Android与iPhone的MobileSafari浏览器具有同样以WebKit为基础的包括一个构建在WebKit基础上的可嵌入浏览器,。Android提供多种连接选项,包括WiFi、蓝牙和通过蜂窝(cellular)连接的无线数据传输(例如GPRS、EDGE和3G)[9]。链接到Google地图是Android应用程序中一项流行的技术。并不是所有的Android设备都配备了必需的硬件,但是Android软件栈还提供对基于位置的服务(例如GPS)和摄像支持,另外还有加速计的支持。本科毕业设计说明书(论文)第6页共27页过去,移动应用程序的两个领域分别是图形/媒体和数据存储方法努力向桌面应用程序看齐。Android利用对内置2D和3D图形的支持,其中包括OpenGL库,解决了图形方面的问题,因此缓解了数据存储的负担。Android软件层次结构。如图2-1所示。图2-1Android软件层次结构应用程序架构。如前所述,Android运行在Linux内核上。Android应用程序是在一个虚拟机(VM)中运行的利用Java编程语言编写二乘的。需要注意的是,这个VM与我们通常所说的JVM不同,它是DalvikVirtualMachine,这是一种开源的虚拟机技术。2.3.3系统运行库(1)程序库Android包含一些C语言、C++语言库,Android系统中各类不同的组件能够使用这些库。开发者通过Android应用程序框架来获取一些服务,以下是一些核心库:系统C库:专门为基于embeddedlinux的设备定制的从BSD继承来的标准C系统函数库(libc)。本科毕业设计说明书(论文)第7页共27页媒体库:基于PacketVideoOpenCORE;该库支持静态图像文件,同时支持多种常用的音频、视频格式回放和录制。编码格式包括MPEG4、H.264、MP3、AAC、AMR、JPG,PNG。SurfaceMan

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功