




已阅读5页,还剩70页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)任务书第1页毕业设计(论文)题目基于ANDROID日程管理工具的设计与开发毕业设计(论文)要求及原始数据(资料)1综述ANDROID日程管理工具的发展现状;2深入了解ANDROID日程管理工具项目设计制作的相关技术;3熟练掌握JAVA语言及ANDROID四大组件的应用与分析,训练编写程序的能力;4设计并实现日程管理工具的提醒和日程安排功能;5深入分析基于安卓的日程管理工具的关键技术和编写语言;6训练检索文献资料和利用文献资料的能力;7训练撰写技术文档与学位论文的能力。毕业设计(论文)主要内容1综述ANDROID日程管理工具在日常生活中的应用;2了解ANDROID日程管理工具使用的相关技术;3熟悉ANDROID项目的开发环境和API;4设计基于ANDROID的日程管理工具项目;5深入分析ANDROID日程管理工具的关键技术与编写语言JAVA的设计流程;6熟练掌握ANDROID平台的程序编写;7设计与实现基于ANDROID的日程管理工具项目源程序。学生应交出的设计文件(论文)1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。主要参考文献(资料)1李金霖,赖超,龙曦,吴林志基于ANDROID平台的手机日程管理系统J计算机与数字工程,2011,37174,1432李伟聪,植才煌,钟宝健,胡忠望基于ANDROID的日程管理软件开发J福建电脑,2014,1265663张士营基于ANDROID平台的日程管理系统的设计与应用D中国科学院研究生院,20114梁晓龙基于ANDROID平台语音日程软件的设计与实现D北京邮电大学,20125李琳,赖路燕基于ANDROID平台的日程记事器设计与实现J电子世界,2013,221231236沈美,于翔基于SQLITE数据库的安卓日程管理系统的设计与开发J电子技术及信息科学计算机软件及计算机应用,2014,232262277张继永浅析ANDROID系统的软件安全设计J硅谷2010238OWENSMTHESQLITEDATABASEENGINEC/CUSERSJOUMAL20019OWENSM“QUERYANYTHINGWITHSQLITE,“THEWORLDOFSOFTWAREDEVELOPMENT200710ANDROIDSDKDOCUMENTATIONHTTP/WWWANDROIDCOM/11SINNJAKROTHP,SARASUKV,MUSIKASINTORNP,THUMRONGSUTTIPANT,HOONLORA,“ALERTMEPLEASETHEIMPLEMENTATIONOFANINTELLIGENTTIMEMANGEMENTSOCIALAPPLICATION,“STUDENTPROJECTCONFERENCEICTISPC,2014THIRDICTINTERNATIONAL,2014,135138专业班级软件1105班学生谢伟杰要求设计(论文)工作起止日期2015年3月23日2015年7月3日指导教师签字日期2015年3月23日教研室主任审查签字日期系主任批准签字日期基于ANDROID日程管理工具的设计与开发摘要随着生活节奏的逐步加快,人们常会有许多的重要工作需要去安排或完成,个人的日常工作、领导的重要会议、个人重要日期或者时间等。这些工作都需要在特定的时间给予醒目标识或者提示。而为了能尽可能的减少人们的负担,来更有效率的工作和更舒适的生活。这就需要有专门的日程管理系统来安排这些事务。日程管理系统的主要功能是完成个人一般日程和重要日程安排并提供提醒和查看的功能。如今随着信息技术的高速发展,手机已经成为现代人们生活所必不可少的物品,将其作为日程管理系统的平台可以说是一个很好的选择。而且现如今手机安卓系统已经成为一门及其热门的技术,因此我选择将基于安卓的手机日程管理系统作为我的毕业设计课题。本系统是一个基于安卓手机平台的日程管理系统,具有基本的日程活动的增、删、改、查功能,在日历浏览中可突出显示有安排的日期。用户可根据不同的活动设置任务,便于对日程的管理。系统还具备提醒程序,可帮助管理重要活动,并且实现与网络数据同步的功能。系统是基于安卓的基础知识和JAVA语言,以及SQLITE提供的数据的管理来开发的,最终取得了较圆满的成果。关键词日程管理;JAVA;安卓;ANDROIDMOBILEPHONESCHEDULEMANAGEMENTSYSTEMBASEDONANDROIDABSTRACTASTHEPACEOFLIFEHASBEENACCELERATINGGRADUALLY,PEOPLEOFTENHAVEMANYOFTHEIMPORTANTWORKNEEDTOARRANGEORCOMPLETE,PERSONALDAILYWORK,LEADERSHIPOFTHEIMPORTANTMEETING,PERSONALIMPORTANTDATEORTIME,ETCALLTHISWORKNEEDTOBEINPARTICULARTIMETOGIVEMARKEDLOGOORHINTSANDINORDERTOREDUCETHEBURDENOFTHEPEOPLEASMUCHASPOSSIBLE,TOMOREEFFICIENTWORKANDMORECOMFORTABLELIFETHISHASTOBESPECIALSCHEDULEMANAGEMENTSYSTEMTOARRANGETHESEAFFAIRSSCHEDULEMANAGEMENTSYSTEMSMAINFUNCTIONISTOMAKETHEPERSONALGENERALSCHEDULEANDIMPORTANTSCHEDULESANDPROVIDEREMINDANDVIEWFUNCTIONANDNOW,WITHTHEHIGHSPEEDDEVELOPMENTOFINFORMATIONTECHNOLOGY,THEMOBILEPHONEHASBECOMETHEMODERNPEOPLELIVINGANESSENTIALITEMS,ASASCHEDULEMANAGEMENTSYSTEMPLATFORMCANBESAIDTOBEAVERYGOODCHOICEANDNOWTWOMOBILEPHONESYSTEM,ALREADYBECOMEAANDITSPOPULARTECHNOLOGY,SOICHOOSEWILLBEBASEDONTHEMOBILEPHONESCHEDULEMANAGEMENTSYSTEMANDROIDASMYGRADUATIONDESIGNTASKTHISSYSTEMISARESULTOFTHEMOBILEPLATFORMBASEDONSCHEDULEMANAGEMENTSYSTEM,HAVETHEBASICAGENDAOFACTIVITYINCREASEANDDELETE,CHANGE,CHECKFUNCTION,INTHECALENDARCANBROWSEHIGHLIGHTISTHEDATEOFTHEARRANGEMENTUSERSCANSETACCORDINGTODIFFERENTACTIVITIESTASK,ANDISCONVENIENTFORTHEMANAGEMENTOFTHESCHEDULETHESYSTEMALSOHASTHEREMINDPROGRAMCANHELPMANAGETHEIMPORTANTACTIVITIES,ANDREALIZEANDNETWORKDATASYNCHRONIZATIONFUNCTIONSYSTEMISBASEDONTHEFOUNDATIONOFANDROIDKNOWLEDGEANDJAVALANGUAGE,ANDTOPROVIDETHEDATAMANAGEMENTSQLITETODEVELOPMENT,ANDFINALLYACHIEVEDSATISFACTORYRESULTSKEYWORDSSCHEDULEMANAGEMENTJAVAANDROID目录1背景与意义111应用平台背景112系统开发背景113系统研究现状214系统研究主要内容22开发环境介绍421什么是ANDROID422ANDROID的优势523ANDROID的不足624ANDROID带来的影响6241对消费者的影响6242对手机制造商的影响7243对运营商的影响725JAVA介绍726ANDROID的系统架构927ANDROID内核9281LIB10282运行环境1128ANDROID开发环境搭建11281JDK11282ECLIPSEADT14283ANDROIDSTUDIO18284AVD或GENYMOTION193系统分析2031系统可行性分析20311技术可行性20312操作可行性20313经济可行性2032总体需求2033功能需求2134开发运行环境需求2235性能需求2236其它需求234编码与实现2441界面设计24411主界面的核心代码2442数据操控27421数据读取27422获取日程28423显示日程29424修改日程32425删除日程3343事件提醒34431铃声与震动34432屏幕状态判断3544系统运行效果365系统测试与运行4051系统测试的目的4052系统测试范围4053软件测试方法概述40531等价类分析法41532边界值分析法41533错误推测法4154软件性能测试流程4155测试内容及结果42551内容与功能检查42552容错性与易用性测试42553测试用例设计436总结44参考文献45致谢461背景与意义11应用平台背景ANDROID系统就是一个开放式手机和平台电脑的操作系统,它是由GOOGLE公司于2007年首先推出,目前的发展势头十分迅猛。虽然ANDROID面市的时间不长,但是它已经对传统的手机平台构成了强大冲击,相比于传统的JAVA语言,在客户端应用开发上它显然更具有优势,资源占用率低,性能稳定。更由于其开源性使得任何终端厂商都能加入到ANDROID联盟中来,多样化的设计大大降低了厂商的开发成本,也使得第三方软件开发商的门槛降低了许多。在摆脱传统运营模式的情况下,随着GOGGLE及其开放手机联盟的其他成员的大力推进以及用户和应用的日益丰富,ANDROID平台智能手机的市场占有率将与日俱增,必将引领手机应用的时尚潮流,随之而来的将是基于ANDROID系统的应用软件的巨大市场需求1。12系统开发背景在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。人类社会就处在一个对信息进行有效合理的加工中。它将促进整个社会的发展。随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。在软件技术的应用中,软件的开发技术,尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品,参与市场竞争,获取最大利润是全球信息企业追求的目标。日程管理是现代社会每个人都必须掌握的基本生存能力之一。日程管理的核心是管理自己平时的日程信息,通过充分利用各种日程管理工具,才能达到合理分配的目的,满足日程管理高效性、准时性等多样化要求。随着信息化时代的到来和生活节奏的加快,传统通过笔纸记录的方式早已远去,通过PC软件实施的信息化日程管理也曾兴起,但是通过PC软件实施的日程管理,很难做到日程管理信息实时记录和浏览。随着ANDROID和IPHONE等智能手机的普及,手机的功能已不再局限于但电话和发短信,由于具有天然的便携性,手机的功能和作用正在微博,游戏以及大量实用软件领域部分的替代PC。如果将日程管理软件安装在手机中,用户就可以随时随地方便地查看自己的日程信息,并可进行统计分析和查看,这样就可以帮助用户真正地实时了解自己的日程管理。13系统研究现状计算机便携式是一种趋势,人们传统观念里认为计算机都是形如电脑主机,显示器,键盘的组合体,即使后来出现了个人笔记本电脑也依然摆脱不了这种传统意识。对于传统意义上的计算机,人们只有安静地坐下来才能使用,但随着人们日常需求发展的多样化,显然不能完全满足通过这种方式使用电脑,有时用户需要在车上查看、管理自己的日程信息。便携式的管理设备在于更加准确、快捷的解决现实生活中的各种问题。相对于设备而言,应用软件技术正是其灵魂核心3。当今软件开发技术发展迅速,各种类型的软件更新换代快,而手机软件占据了其中不小的分量,日程管理软件并非新兴事物,其功能大多数都大同小异,但是由于其实用性较强,才使其地位一直未衰减。对于PC机而言,日程管理软件地开发已经相当成熟了,基于各种手机操作系统的日程管理软件也有了一定的发展基础,ANDROID系统是近几年新兴起来的操作系统,以其优异的性质正迅速地占领手机终端市场,基于ANDROID系统的日程管理软件也相继出现,对比各种不同类型的日程管理软件,有的仅仅是实现了日程管理的基本功能,但有的日程管理软件功能却十分完善,其性能直追PC机日程管理软件,具有很强的功能模块。现今的日程管理软件发展方向是在基本功能实现的基础上,尽可能的设计出独特的日程管理模式来适应复杂的时间管理,良好的用户界面也是其开发亮点。随着人们的生活节奏不断的加快,个人日程管理正成为生活中不可缺少的主题,基于现行ANDROID系统的各种日程管理软件,取众之长,补己之短,设计创新出具有普遍需求的日程管理软件是增加市场竞争力核心的关键4。14系统研究主要内容本系统主要的研究内容是基于人们日常生活中对于个人日程管理具体情况的需求。研究设计出符合当今社会人们经济生活中出现的随时随地方便日程管理理念的软件系统。手机应用为人们的生活带来乐趣的同时也带来的方便。本系统是基于当今社会流行的ANDROID平台框架,通过总结PC机日程管理软件设计理念和体系,并总结各个邮箱中的日历功能,为用户提供个人经典日程管理模式的手机应用版。2开发环境介绍21什么是ANDROIDANDROID是一种基于LINUX的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由GOOGLE公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。ANDROID操作系统最初由ANDYRUBIN开发,主要支持手机。2005年8月由GOOGLE收购注资。2007年11月,GOOGLE与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良ANDROID系统。随后GOOGLE以APACHE开源许可证的授权方式,发布了ANDROID的源代码。第一部ANDROID智能手机发布于2008年10月。ANDROID逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,ANDROID在全球的市场份额首次超过塞班系统,跃居全球第一。2013年的第四季度,ANDROID平台手机的全球市场份额已经达到781。2013年09月24日谷歌开发的操作系统ANDROID在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。523933210ANDROIDIOSSYMBIANJAVAMEWINDOWSPHONEBLACKBERRYOTHERS移动操作系统占有率图21201504各移动操作平台占有率特点1、使用原始和替换应用程序框架支持的组件2、DALVIK虚拟机,在ANDROID50中已采用全新快速的ARTANDROIDRUNTIME模式基于开源的WEBKIT,优化的图形库包括定制的2D图形库,基于OPENGLES103D图形库4、用SQLITE存储结构化数据5、多媒体支持,包括定期的音频,视频和静态图像格式(如MPEG4,H264,MP3,AAC,AMR,JPG,PNG,GIF)6、电话技术,GSM7、BLUETOOTH蓝牙,EDGE,3G,和WIFI8、摄像头,GPS,指南针丰富的开发,包括设备模拟器,调试工具,内存分析和ECLIPSE插件开发的ANDROID套件,包括电子邮件客户端,SMS程序简洁订单,日历,地图。22ANDROID的优势1、市场份额大超80,IOS不到13;WINDOWSPHONE不到4;2、使用内存的限制,电池和优化的DALVIK虚拟机的CPU,ANDROID运行速度比想象的8迅速。2、应用程序发展迅速ANDROID应用商店最大的优势是,不对应用程序进行严格。在这一点上优于苹果。3、智能厂家助力世界很多智能手机厂家几乎都加入了ANDROID阵营,并推出了一系列的ANDROID智能机。终端越多,其市场潜力就越大。大部分厂家参与建立了ANDROID平台技术联盟。4、ANDROID价廉性能不低虽然ANDROID平台的手机价廉,但是其性能却一点也不低廉。ANDROID平台简单实用,无论是功能还是外观设计。5、机型多硬件配置优每一家手机厂商都推出了各自的ANDROID智能机,数不胜数。6、系统开源利于创新苹果的自我封闭性,使其创新必须源自内部。而ANDROID是开源的,允许修改,这在很大程度上容许厂家根据自己的硬件更改版本,从而能够更好的适应硬件,与之形成良好的结合。7、开发者最多国内开发者众多,本土化软件齐全。8、有利创业方便技术创业,投入很少,关键在创新、服务和技术。23ANDROID的不足由于JAVA作为应用程序开发语言,传统的现有的第三方应用仍然有限,但由于ANDROID是一个完全开源的移动计算平台,相信第三方应用程序迅速丰富起来。谷歌提供了一套JAVA核心包(J2SE5,J2SE6)的JAVA的有限子集尚未致力于与JAVA的任何细节的遵守,可能导致进一步的分裂JAVA阵营。1)以改善现有的应用程序现在所做的是不够的,开发者需要做大量的工作的。2)非常快的更新操作系统版本,该接口是不一致的,也有在用户体验感的差异。3)基于QEMU工具来开发调试仿真器是不是很丰富,不仅支持电话,短信,等等,都是缓慢的。4)安全性ANDROID手机ROOT后,权限混乱造成安全隐患。ANDROID应用市场并不像APPLE的IOS一样拥有统一的APPSTORE,对应用的审核不是很严格,各个应用市场山头林立,易滋生恶意软件。24ANDROID带来的影响ANDROID系统的推出可能会影响行业,包括移动通信行业的软件开发,手机行业,消费者等等241对消费者的影响1加大高端手机的选项,用户并非只有黑莓苹果可选。2可以以更便宜的价格购买到更高性能的手机,促进智能手机的普及。3生活方式的变化,智能手机的各种应用已经改变了统的生活方式。242对手机制造商的影响1ANDROID是计算软件平台的移动开源模式,建立了一个谷歌为首的行业巨头有很多的产业联盟,实现高效开发,降低成本。2因为它是开源产品,非主导的制造商,你能避免的领先制造商在上述核心技术的空间,打造一个更具竞争力和差异化的产品。243对运营商的影响1丰富的数据服务,将导致在数据通信中的显著增加。2增加手机的来源,价格也更实惠。3运营商语音短信主打的业务模式将受到挑战。25JAVA介绍JAVA是SUN公司在1996年推出的一种编程语言。JAVA技术是20世纪业界出现的最重要的技术之一,这种与平台无关的语言导致了编程世界的一场革命。目前JAVA是互联网上最流行的编程语言之一。它是一种通过解释方式来执行的语言,语法规则和C类似。J2EE,即JAVA2PLATFORM,ENTERPRISEEDITIONJ2EE是JAVA平台的企业版。在1998年JDK发表12版的时候,SUN公司使用了新名称JAVA2PLATFORM来称呼,JAVA译成中文就是“JAVA平台”,修改后的JDK称为J2SDK即JAVA2PLATFORMSOFTWAREDEVELPINGKIT,并分为标准版STANDARDEDITION又称J2SE,企业版ENTERPRISEEDITION又称J2EE,微型版MICOREDITION又称J2ME它们有不同的用途,不过最基本的开发包还是J2SE。JAVA是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有C快,所以一般是不用JAVA来编写应用程序和电脑游戏。JAVA主要分三块,J2SEJAVA的基础核心语言。J2MEJAVA的微型模块,专门针对内存小,没有持续电源等小型设备。J2EEJAVA的企业模块,专门针对企业数据库服务器的连接维护。手机用到的是用J2ME所编出来的小程序。JAVA是一种编程语言的网络,其基本结构非常类似于C,但它是简单的。它结合了一些功能和其他语言的优点,又避免了它们的缺点。JAVA语言是简单的,废旧很少在C中使用,它是复杂的,混乱的特点,不需使用指针,并提供了自动垃圾回收,因此程序员不需要担心存储器管理JAVA语言是体系结构中立的,因为它使用的第一个聚合成中间代码(字节码),然后加载奇偶校验,然后解释给其他的机器代码来执行,只要由JAVA虚拟机的支持,可以运行各种JAVA程序的JAVA语言定义,在JAVA平台的JAVA程序将被合并成字节码格式,然后就可以实现运行JAVA平台的任何系统,在运行时,JAVA平台的JAVA解释器,他们被授权传达字节码执行,类的性能,你需要加载运行环境的结合部JAVA语言是多线程的,多线程指的是相同的应用程序中,有多个数据流同时来执行顺序较内部的多线程程序可以统称为执行多个线程一次。可以更好地表达多线程程序和解决现实生活中的问题,是计算机应用与工艺设计发展的必然趋势。系统为什么不选择C或C语言和JAVA的主要原因,选择ANDROID的应用层是通用的中级JAVA字节码,它不需要各种硬件模型的每个厂家封装的等效版本。为了避免游戏版本,诺基亚,联想版的情况下MOTO的版本。一次编写,到处运行。其次,在竞争中JAVA和NET平台是应用程序本身最适合的一个平台,有一个庞大的开发基地,节省大量的再教育重新学习的成本。JAVA实现数据交换停止使用的I/O(输入/输出,输入和输出)流,该流是指在所谓的能够输出的任何数据源或数据对象是能够接收数据的数据源对象。用于操作JAVA流对象内置的JAVAIO包,其包含一系列的文件和目录来运行读取文件并写入类的操作的属性。在工作状态下,对于任何一类的JAVA反射,了解所有的属性和这个类的方法为别的,你可以以任何方式调用的方式来动态地捕捉动态调用对象的信息,并调用函数反映了JAVA语言的机制。JAVA反射机制主要提供以下功能识别属于任何一类在运行时的对象在运行时,任何类对象的构造统治阶级的成员变量和在运行时的方法使用任何运行对象时程序生成动态代理。如今,随着移动互联网时代的到来,JAVA作为ANDROID的主要开发语言,正焕发着勃勃生机。26ANDROID的系统架构ANDROID系统架构如图22所示。图22系统架构27ANDROID内核LINUX内核版本26位于硬件和软件堆之间的抽象层核心服务安全机制、内存管理、进程管理、网络、硬件驱动。图23LINUX内核ANDROID的依赖于LINUX26内核提供的基本服务,如安全性,内存管理,进程管理,网络,硬件驱动程序。这里,LINUX内核中所起的层和该系统的其他电平之间的硬件抽象层的一个概念。操作系统是不是一流的GNU/LINUX的,因为他们的系统库,系统启动和编程接口和标准的LINUX系统是不同的18。从LINUX的角度来看谷歌的当前版本中,它没有虚拟内存文件系统,使用该系统YAFFS2文件系统,某些照片也可以看出,在SDK的安装目录。用模拟器CONSOLE命令,就可以得到一个简单的控制ANDROID的壳,该系统包含的设备,提供一些基本的命令工具,集中在/SBIN目录,/系统/SBIN目录,/系统/斌在主机流体,但很简单,就是某种秩序。ANDROID系统目前的模式将通过ECLIPSE的自动安装,通过课题研究,大致步骤是存放在/数据/应用程序数据/ANDROID的隐藏数据和共同的核心并没有显著差异,可以作为一个LINUX的发展和黑客。图24LIB运行库28LIB和运行环境281LIBC/C库使用不同部位的ANDROID随着应用程序框架开发人员可以使用它的功能19包括以下内容媒体库MPEG4H264MP3JPGPNGWEBKIT的/LIBWEBCOREWEB浏览引擎MYSQL关系数据库引擎2D,3D图形库,引擎支持丰富的类库,2D和3D图形库的OPENGLES,SQLITE数据库,对象数据库DB4O的图书馆,媒体库,基于LINUX的C库中的底层系统,等等,所以它更容易和多样化的应用开发。谷歌使用该库的APACHE和谐,和谐比太阳更快的虚拟机的某些方面。JAVA运行时DALVIK虚拟机,DALVIK的使用了简明和格式良好的字节码来运行,可以并行地执行对时间的低消耗和应用程序之间没有干扰的多个应用程序。282运行环境JAVA核心库提供的功能DALVIK虚拟机依赖于LINUX内核,如内存管理,线程或连接设备可以运行多个虚拟机DALVIK的,每个ANDROID应用程序在它自己的DALVIK虚拟机实例运行可执行文件的DALVIK虚拟机优化的执行(DEX)DX工具汇总文件中的JAVA转换文件ANDROID50之后抛弃DAKVIK而采用ART(ANDROIDRUNTIME)。28ANDROID开发环境搭建281JDKJDK下载地址HTTP/WWWORACLECOM/TECHNETWORK/JAVA/JAVASE/DOWNLOADS/INDEXHTMLJDKJAVADEVELOPMENTKIT是整个JAVA的核心,包括一系列JAVA开发的东西,安装完毕需要配置一下环境变量。1JAVA_HOMEJDK的安装路径,这个环境变量本身不存在,需要创建,创建完则可以利用JAVA_HOME作为统一引用路径,其值为JDK在你电脑上的安装路径。图25配置JAVA_HOME2PATHPATH属性已存在,可直接编辑。作用是用于配置路径,简化命令的输入,其值为JAVA_HOMEBIN图26配置PATH3CLASSPATH用于编译时JAVA类的路径,注意这里设置的是两个值,表示的是JVM先搜索当前目录。其值为JAVA_HOMELIBTOOLSJAR。图27配置CLSSPAYH4验证配置完毕后,通过CMD运行以下命令JAVAVERSION,JAVAC如果出现返回信息,则设置成功。图28设置成功282ECLIPSEADT早期的ANDROID开发采用的是向ECLIPSE安装插件的形式。1安装ECLIPSEECLIPSE下载地址HTTP/WWWECLIPSEORG/DOWNLOADS/选择ECLIPSESTANDARD版本即可。ECLIPSE为JAVA及ANDROID开发的IDE。ECLIPSE不需要安装,把解压包解压后,剪切ECLIPSE文件夹到你想安装的地方,打开时设置你的工作目录即可。图29安装ECLIPSE2安装ANDROIDSDKANDROIDSDK下载地址HTTP/DEVELOPERANDROIDCOM/SDK/INDEXHTML。ANDORIDSDK为ANDROID管理开发包工具,提供了ANDROID各级平台的开发包和工具。注意,因为我们是独立安装,不是一体化集成系列工具所以需要单独下载SDK。图210下载安装SDK运行安装文件,并把安装目录下TOOLS文件夹路径设置进PATH环境变量。图211SDK安装3配置环境变量为了方便在CMD中使用ANDROID开发工具,不用每次切换路径,可将TOOLS所在的路径添加至PATH中。图212添加TOOLS环境变量去到安装目录运行SDKMANAGER,一开始什么平台和工具也没有,需要下载回来。由于众所周知的原因,需要使用代理来下载,或者在HOSTS中添加741252371DLSSLGOOGLECOM来下载。图213下载各版本API和平台工具4ADTADT下载地址HTTP/DLGOOGLECOM/ANDROID/ADT2306ZIP接下来在ECLIPSE中离线安装ADT打开ECLIPSE,点击HELPINSTALLNEWSOFTWARE接下来点击ADD,点击ARCHIVE,选择下载好的ADT压缩文件,注意不要解压。图214安装ADT配置ADT选择WINDOWPREFERENCES,在弹出面板中就会看到ANDROID设置项,填上安装的SDK路径,则会出现刚才在SDK中安装的各平台包,按OK则完成配置。此时ANDROID的环境就搭建完毕,可以进行ANDROID项目的开发了。图215配置ADT283ANDROIDSTUDIOGOOGLE现已推出ANDROIDSTUDIO的正式版,是官方推荐的开发工具。使用户告别ECLIPSE繁琐的配置。所以也可以使用ANDROIDSTUDIO进行开发。另外它可以导入ECLIPSE中的ANDROID工程,所以不用担心以前的项目作废。下载地址HTTPS/DEVELOPERANDROIDCOM/SDK/INSTALLING/STUDIOHTMLDOWNLOAD下载完成后直接双击ANDROIDSTUDIOBUNDLE1351740770WINDOWSEXE文件即可执行安装。图216ANDROIDSTUDIO的安装ANDROIDSTUDIO是基于INTELLIJIDEA的,其界面要比ECLIPSE漂亮许多。这对于ANDROID开发者是一种福音。图217ANDROIDSTUDIO界面284AVD或GENYMOTION由于程序是运行在模拟器上的,我们还没有创建一个模拟器,所以需创建一个,创建完点关闭则可。建议选择CPU为INTELX86,这样在电脑上的模拟器速度会快一些图218创建AVD如果需要更快的模拟器,可以运用GENYMOTION提供的模拟器。它的运行流畅度要比GOOGLE提供的AVD好多了。图219GENYMOTION运行效果3系统分析31系统可行性分析311技术可行性1、JAVA提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及服务。整个系统帮用户做了大部分不重要的琐碎的工作。且关于这方面的书籍、资料比较齐全。2、基于安卓模式的系统的开发已发展日趋成熟。3、总所周知,JAVA是面向对象的开发语言。程序开发院可以在ECLIPSE平台上面方便的使用一些已知的解决方案。综上所述系统的开发技术具有可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。312操作可行性本系统采用基于安卓客户端,利用安卓手机安装软件就能够进行访问和操作,且界面简单易操作,用户只要平时有在用过智能手机,都能进行访问和操作。本系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。因此本系统可以进行开发。313经济可行性系统是基于ANDROID的软件,采用ECLIPSE平台。所以系统在开发人力、财力要求不高,具有经济可行性。32总体需求本系统的主要功能划分为四个部分日历,今日安排,日程列表。日历进入应用程序后定位在当天所在日历。可以显示指定月份的日历,通过日期功能可以显示19002100年之间某月的日历,可以通过上下长距离滑动进行更改,也可通过设置日期按钮进行更改。可以在今日及以后日期增加日程安排。今日安排只展现当天的日程活动,可以对日程条目进行(增加、删除、修改、查寻),修改的信息日程内容、起始时间、结束时间、是否提醒。日程列表显示所有的日程安排,方便用户概览。事件提醒针对手机的不同状态有效提醒用户。33功能需求需求分析就是分析用户的需要与要求。如果需要评估的结果准确地反映用户的实际需求,这将直接影响到方案设计的整个阶段,而且对系统的使用产生影响。着眼于需求评估是完成调查,收集和研究,并可能受到影响的数据管理和安全信息的需求的过程。一般使用者都相对缺少相关的计算机方面的知识,并且可以确定计算机是否可以为自己做什么,不能做什么,所以无法非常准确的去表达自己的需求,但是他们是最终的用户,他们的需求才是最终的需求,但是技术人员缺少用户的专业方面的知识,不是很容易理解到用户的真正需求,有时候可能还会误解到用户的需求;新的硬件和软件技术的出现也会让系统的业务需求得打变化。所以技术人员必须要使用一些得到的方法来保证可以与用户不断的交流这样才可以确定用户最终的需求。通过与用户不断深入地进行交流,了解到目前系统存在的主要问题。需要研究是从用户分析和细化的信息,在功能和性能上有描述。它是软件开发过程中的第一阶段的一部分,主要任务是要了解你需要什么,什么应做的工作,以确定系统的,因此在目标系统提出完整,准确,清晰,具体的要求,并表示以书面形式唤醒。这个ANDROID日程管理应用要求在ANDROID系统的手机上可以运行,实现了日历查看、日程管理、事件提醒等主要功能模块。总体分布如图31所示日程管理系统主界面日历日期设置添加日程日历显示今日安排日程修改日程删除日程列表事件提醒锁屏时提醒亮屏时提醒图31总体功能需求图34开发运行环境需求硬件环境PC软件环境操作系统WINDOWS7/8/81必须软件如下JAVAJDKSE17JDK170_75ECLIPSELUNASR2(442)或以上版本GOOGLEANDROIDSDKADT2306或以上版本35性能需求1安全性该基于ANDROID的日程管理应用作为一款管理的软件,信息的安全还是有很大的必要的,在设计过程中,其安全性主要体现在系统安全性、数据安全性这几个方面。系统安全性主要考虑系统操作的稳定性及该系统运行平台的稳定性;数据安全性主要考虑数据库服务器及权限的设置,用户可以根据自己相应的权限对系统进行操作,以实现对数据的保密。2可靠性该基于ANDROID的仓库管理应用的可靠性主要体现在软件运行可靠性、数据处理可靠性等方面。运用软件工程设计的思想,尽量控制系统运行时可能存在的突发情况。36其它需求一个软件项目的质量不仅包括它是否能够达到客户的预期要求,同时还得从下述不同方面进行分析。如表31表31软件质量需求分析质量属性详细要求正确性切实履行好职责需要,相应的完成每个模块的要求。健壮性具有高容错性和恢复能力。可靠性每1000个小时的时间超过3次的失败率。性能,效率软件更新周期的输出应该是相同的系统信息更新周期。在网络状况良好,在三秒钟内响应消费者的需求。易用性很容易理解建立一个统一软件开发过程简单的语言文件,之前和之后的语句是清晰和易于理解。安全性从意外或故意接入阻止软件,使用,修改,破坏或披露该软件将能够专注于存储在数据库服务器的总部数据的特性,客户端不保存任何业务数据和数据库连接信息,或什么样的数据同步。可扩展性二次开发能满足或改善的功能扩展,并增加适当的安全控制。兼容性简单的冲突与其他软件。可移植性该系统可以很容易地转移到其他运行环境。4编码与实现41界面设计本软件属于手机应用程序,因此手机界面的设计也是其用户友好性实现的重要根基,用户界面设计的好坏很大程度上在直观第一印象上给人深刻印象,主要采用LINEARLAOUTFRAGMENT。411主界面的核心代码制作底部菜单栏,使用户直观的感受,增加软件的易用性,我用的是RELATIVELAYOUTLINEARLAYOUTTEXTVIEW组合的方法来制作这个部分。首先建立好ANDROID工程(我的工程名为CALENDAR),在工程下的RES/LAYOUT下建立一个名字为MAINXML的文件。顶部应用自定义的标题布局效果如图图41自定义标题显示效果底部采用线性布局,横向排列三个TEXTVIEW通过添加ANDROIDBACKGROUND“F9F9F9“使背景为紫色。效果如图图42底部菜单实现效果为了使左右滑动切换有动画效果,使用了VIEWPAGER,具体代码如下其中,FLIPINTERVAL指定每个VIEW动画之间的时间间隔,PERSISTENTDRAWINGCACHE指定缓存策略。控制底部页面颜色变化和顶部标题变化实现了ONPAGECHANGELISTENER,因为有PRIVATESTRINGVALUE“日历“,“今日安排“,“日程列表“MTITLESETTEXTVALUEARG0可以控制顶部标题的TEXT,另外通过SWITCHCASE语句来控制SWITCHARG0CASE0MCALENDARSETBACKGROUNDCOLORCOLORRGB194,170,242MCALENDARTODAYSETBACKGROUNDCOLORCOLORWHITEMCALENDARLISTSETBACKGROUNDCOLORCOLORWHITEBREAKCASE1TODAYCALENDARFRAGMENTNEWINSTANCEREFRESHMCALENDARSETBACKGROUNDCOLORCOLORWHITEMCALENDARTODAYSETBACKGROUNDCOLORCOLORRGB194,170,242MCALENDARLISTSETBACKGROUNDCOLORCOLORWHITEBREAKCASE2CALENDARLISTFRAGMENTNEWINSTANCEREFRESHMCALENDARSETBACKGROUNDCOLORCOLORWHITEMCALENDARTODAYSETBACKGROUNDCOLORCOLORWHITEMCALENDARLISTSETBACKGROUNDCOLORCOLORRGB194,170,242BREAK其中NEWINSTANCE是在MAINACTIVITY中初始化界面,加载对应的FRAGMENT,各个FRAGMENT采用单例模式保证各FRAGMENT对象只生成一次,避免程序的混乱。另外,MAINACTIVITY中重写了ONBACKPRESSED方法,像大多数应用一样,给用户提供了一个对话框来确认是否退出应用,以避免误触返回键引起不必要的麻烦。当点击确认按钮后,要杀死应用程序进程以退出整个应用,而不是继续在后台运行DIALOGCONFIRMSETPOSITIVEBUTTON“确定“,NEWDIALOGINTERFACEONCLICKLISTENEROVERRIDEPUBLICVOIDONCLICKDIALOGINTERFACEDIALOG,INTWHICHANDROIDOSPROCESSKILLPROCESSANDROIDOSPROCESSMYPID具体效果如下图43退出应用42数据操控421数据读取本软件不仅涉及了数据的读取,也涉及了数据的存储,但是不需要创建数据库,使用ANDROID系统自带的日历,通过CONTENTPROVIDER跨应用程序访问就好。我的研究是从阅读官方文档开始的。官方文档上的开头部分涉及到了一个CONTENTPROVIDER和CONTENTRESOLVER的东西。这个概念在ANDROID开发中很重要。为了在应用程序之间交换数据,ANDROID提供了CONTENTPROVIDER,CONTENTPROVIDER是不同应用程序之间进行数据交换的标准API,当一个应用程序需要把自己的数据暴露给其他程序使用时,该应用程序就可以通过提供CONTENTPROVIDER实现。其他应用程序就可以通过CONTENTRESOLVER来操作CONTENTPROVIDER暴露的数据(一般是以数据库的一个表的形式暴露,因此用CONTENTRESOLVER操作数据时,也很类似对数据库的表的操作)。CONTENTPROVIDER也是ANDROID应用的四大组件之一,与ACTIVITY、SERVICE、BROADCASTRECEIVER相似,它们都需要在ANDROIDMANIFESTXML中配置。还有,一般来说,CONTENTPROVIDER是单例模式的,当多个应用程序通过CONTENTRESOLVER来操作CONTENTPROVIDER提供的数据时,CONTENTRESOLVER调用的数据将会委托给同一个CONTENTPROVIDER处理。一旦某个应用程序通过CONTENTPROVIDER暴露了自己的数据操作接口,那么不管该应用程序是否启动,其他应用程序都可以通过该接口来操作该应用程序的内部数据,包括增删改查。还有一个很重要的东西叫URI不是URL,其实和URL作用很像的。通俗一点说就是当你用CONTENTRESOLVER操作数据时,用URI来指明数据的URL。使用CONTENTRESOLVER操作数据的步骤其实很简单首先调用ACTIVITY的GETCONTENTRESOLVER获取CONTENTRESOLVER对象,然后根据需要调用CONTENTRESOLVER的INSERT、UPDATE、DELETE和QUERY方法操作数据即可。为了操作数据,我们需要了解CONTENTPROVIDER的URI。这也是上述三个概念的简单联系。要调用系统日历的数据库,这就关系到访问权限的问题,所以需要在ANDROIDMANIFEST中添加如下代码12ANDROID中日历用了三个URL,分别是日历用户的URL,事件的URL,事件提醒URL,三个URL在ANDROID21之前是如下的样子1CALANDERURL“CONTENT/CALENDAR/CALENDARS“2CALANDEREVENTURL“CONTENT/CALENDAR/EVENTS“3CALANDERREMIDERURL“CONTENT/CALENDAR/REMINDERS“但是在ANDROID22版本以后,三个URL有了改变,变成如下的样子1CALANDERURL“CONTENT/COMANDROIDCALENDAR/CALENDARS“2CALANDEREVENTURL“CONTENT/COMANDROIDCALENDAR/EVENTS“3CALANDERREMIDERURL“CONTENT/COMANDROIDCALENDAR/REMINDERS“但鉴于ANDROID21以下的系统现在的市场占有率之少,所以还是选择后者。事件的存储涉及到以下几个字段,分别是“CALENDAR_ID”、“TITLE”、“DESCRIPTION”、“EVENTLOCATION”、“DTSTART”、“DTEND”、“HASALARM”。分别对应着日历ID(一般当用户在手机上登陆邮箱账户并启用EXCHANGE服务,ANDROID系统会自动生成ID),标题,内容描述,地点,开始时间,结束时间,是否提醒。特别要注意的是必须要有设置时区,即EVENTPUTEVENTSEVENT_TIMEZONE,“ASIA/SHANGHAI“,当用EVENTPUT方法将以上各个字段插入数据库中,再调用URINEWEVENTMCONTEXTGETCONTENTRESOLVERINSERTURIPARSECALANDEREVENTURL,EVENT便可成功添加事件。422获取日程主要功能为日期对照和查询日程数据。核心代码如下PRIVATEVOIDGETDATAMLISTCLEARSTRINGORDERBY“DTSTARTASC“CURSORCMCONTEXTGETCONTENTRESOLVERQUERYURIPARSECALANDEREVENTURL,NULL,NULL,NULL,ORDERBYIFCNULLCMOVETOFIRSTDOCALENDARCANEWCALENDARCAIDCGETSTRINGCGETCOLUMNINDEX“_ID“C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抗菌药临床应用思路与制定科学的抗菌方案讲课文档
- 浙江省台州市三门县2023-2024学年第一学期四年级科学期中检测卷(含答案)
- 电瓶车维修知识培训内容课件
- 北楼中学分班考试试卷及答案
- 2-6-Deoxyfructosazine-13C4-生命科学试剂-MCE
- 电梯安全管理员证考试题库及答案
- 家政考试题及答案
- 电热电器知识培训总结
- 高层消防栓安全知识培训
- 2025年云教育项目提案报告模板
- 学校各岗位廉政风险点及防控措施
- 人教部编八年级语文上册《浣溪沙(一曲新词酒一杯)》示范课教学课件
- 临床成人失禁相关性皮炎的预防与护理团体标准解读
- 11声音的三要素(练习)(原卷版)
- 矿产购销合同模板
- 湖北荆州2023年中考语文现代文阅读真题及答案
- 重庆市字水中学2024届九年级上学期期中考试数学试卷(含答案)
- 水闸现场安全检测分析报告
- 输变电工程质量通病防治手册
- 车辆定点维修服务保障方案
- 学生营养餐(中央厨房)集中配送项目计划书
评论
0/150
提交评论