基于Android的日历系统的设计与实现.doc

上传人:文****钱 文档编号:43636 上传时间:2018-05-10 格式:DOC 页数:31 大小:1.39MB
下载 相关 举报
基于Android的日历系统的设计与实现.doc_第1页
第1页 / 共31页
基于Android的日历系统的设计与实现.doc_第2页
第2页 / 共31页
基于Android的日历系统的设计与实现.doc_第3页
第3页 / 共31页
基于Android的日历系统的设计与实现.doc_第4页
第4页 / 共31页
基于Android的日历系统的设计与实现.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、华北电力大学本科毕业设计(论文)I毕业设计论文院系控制与计算机工程学院计算机系专业班级软件工程1001班学生姓名指导教师二一四年六月题目基于ANDROID的日历系统的设计与实现华北电力大学本科毕业设计(论文)I基于ANDROID的日历系统的设计与实现摘要ANDROID系统凭借其良好的用户体验、低廉的成本及高开放性产生了巨大的应用量和广阔的应用面。如今,基于ANDROID系统的应用极为丰富,从输入法到影音播放器,从系统工具到网页浏览器,从社交网络客户端到学习办公助手工具,以及形式繁多的游戏应用,都有力体现了ANDROID平台的强大的适应性和发展潜力。而日历应用作为智能终端的出厂必备控件,更是AN

2、DROID系统中不可或缺的一部分。而应用开发商力求为客户带来更好的用户体验,将日历这一原本普通的生活用品打造成植于移动终端中的生活助手,且界面风格迥异,功能也是趋于多样化和一体化。本文通过论述对基于ANDROID的日历系统的开发的全过程,研究了ANDROID系统的开发环境、核心构架、主要组件,展示了开发移动应用的一般过程,并对ANDROID平台的背景、现状和发展前景进行了讨论。本次项目所实现的日历系统,除了最基本的日期信息查询功能外,还具备了公历转换农历功能、指定日期跳转功能、当天日期定位功能和日程管理功能。通过转换功能,用户可将希望查询的公历日期转为农历日期;如果用户想知道某一天或某个月有什

3、么节日,可以使用跳转功能;在主界面没有显示当月日期时,用户可通过定位功能回到当天日期;而日程管理功能则为用户提供了类似备忘录的平台。关键词;ANDROID;移动终端;手机日历;移动应用开发华北电力大学本科毕业设计(论文)IITHEDESIGNANDIMPLEMENTATIONOFCALENDERBASEDONANDROIDSYSTEMABSTRACTANDROIDSYSTEMHASBEENACHIEVEDAGREATNUMBEROFUSERSBECAUSEOFITSEXCELLENTUSEREXPERIENCE,LOWCOSTANDHIGHOPENNESSNOWADAYS,THEREAREPL

4、ENTYOFSMARTPHONEAPPLICATIONSBASEDONANDROIDSYSTEMSUCHASINPUTMETHODS,AUDIO/VIDEOPLAYERS,SYSTEMTOOLS,WEBBROWSERS,SOCIALNETWORKS,SCHOOL/OFFICESOFTWARES,GAMES,ETC,WHICHSHOWGREATADAPTATIONANDDEVELOPMENTPOTENTIALOFANDROIDCALENDERHASBECOMEANECESSARYWIDGETININTELLIGENTTERMINALSANDALSOAQUITEIMPORTANTPARTOFAND

5、ROIDSYSTEMAPPDEVELOPERSSTRIVETOIMPROVETHEUSEREXPERIENCESOTHATTHEYCHANGETHECALENDER,ACOMMONPLACEARTICLESFORDAILYUSE,INTOAKINDOFASSISTANTFORUSERS,WITHDIFFERENTKINDSOFINTERFACEANDITSFUNCTIONBECOMESMOREANDMOREDIVERSIFIEDANDINCORPORATETHISARTICLEISABOUTTHEWHOLEDEVELOPMENTPROCESSOFCALENDERBASEDONANDROIDSY

6、STEM,THEDEVELOPMENTENVIRONMENT,THECOREFRAMEWORKANDTHEMAINMODULEOFANDROIDALSO,WEWILLDISCUSSTHEBACKGROUND,THECURRENTSITUATIONANDTHEDEVELOPMENTPOTENTIALTHECALENDARWEENFORCEINTHISPROJECTCONTAINSFUNCTIONSNOTONLYTHEMOSTBASICDATEINFORMATIONINQUIRE,BUTALSOOTHERFUNCTIONSSUCHASGREGORIANLUNARTRANSFORMER,CURREN

7、TDATELOCATOR,EVENTSMANAGERUSERSAREABLETOTRANSFORMGREGORIANDATESTHEYWANTTOLUNARDATESBYUSINGGREGORIANLUNARTRANSFORMERIFUSERSWANTTOCHECKOUTFESTIVALSOFDATES,THESKIPFUNCTIONWILLHELPUSERSCOULDSKIPBACKTOCURRENTDATEWITHTHEHELPOFDATELOCATORWHENTHEMAININTERFACEDOESNTSHOWANDTHEEVENTSMANAGERPROVIDESAKINDOFPLATF

8、ORMLIKEMEMORANDUMKEYWORDSANDROIDTHEMOBILETERMINALSMARTMOBILECALENDERMOBILEAPPLICATIONDEVELOPMENT华北电力大学本科毕业设计(论文)1目录摘要IABSTRACTII目录31绪论111课题背景112发展现状1121ANDROIDSDK发布里程碑1122ANDROID市场发展轨迹313ANDROID系统的发展前景314课题研究意义415本文主要结构52ANDROID系统核心技术概述621ANDROID的体系结构622ANDROID系统组件823ANDROID主要控件924本章小结113基于ANDROID的日

9、历系统1231需求分析12311系统目标12312功能需求描述12313界面需求分析12314运行需求分析1232系统概要设计12321系统功能结构12322系统界面布局1333主要算法与核心代码实现14331主界面14332菜单项目操作16333日程管理功能实现18334农历、闰年、节日算法1934软件测试20341测试平台20342软件安装20343程序运行情况2135本章小结234总结2441论文工作总结2442问题与展望24参考文献26致谢27华北电力大学本科毕业设计(论文)11绪论11课题背景ANDROID一词最早出现在法国作家威利耶德利尔亚当的科幻小说中,作者将外表像人的机器称为“

10、ANDROID”1。它由四部分构成,分别如下;(1)生命系统(平衡、步行、发声等)(2)造型解质(关节能自由活动的金属覆盖体)(3)人造肌肉(有肌肉、静脉等人体特征)(4)人造皮肤(含有肤色、毛发等)ANDYRUBIN创立了两个手机操作系统公司,分别是DANGER和ANDROID。DANGER在2008年以5亿美元卖给MICROSOFT;ANDROID与2005年卖给了GOOGLE。因此,ANDROID系统一开始并不是由GOOGLE研发出来的。2007年11月5日,GOOGLE正式发行了这款名为ANDROID基于LINUX平台的开源移动操作系统平台,并且在当天与34家手机制造商、软件开发商、电

11、信运营商以及芯片制造商组成开放手持设备联盟(OPENHANDSETALLIANCE)。该联盟将共同研发ANDROID系统及其应用软件并生产ANDROID系统的智能手机。而后,GOOGLE发布了第一个面向开发者的软件开发包(SDK)ANDROID10BETA,ANDROID平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件平台2。至此,ANDROID进入世人的视野,也开始了一场移动互联网的伟大革命。12发展现状作为当前最热门的移动应用操作系统之一,ANDROID早在2012年就已经占据欧美市场超过50的市场份额。而在国内,市场上采用ANDROID系

12、统的智能终端也在不断增多。121ANDROIDSDK发布里程碑ANDROID112008年9月发布的ANDROID第一版ANDROID15CUPCAKE(纸杯蛋糕)2009年4月30日,官方15版本(CUPCAKE纸杯蛋糕)的ANDROID发布。主要的更新如下;拍摄/播放影片,并支持上传到YOUTUBE;支持立体声蓝牙耳机,同时改善自动配对性能;最新的采用WEBKIT技术的浏览器,支持复制/贴上和页面中搜索性能大大提高;提供屏幕虚拟键盘;主屏幕增加音乐播放器和相框WIDGETS;应用程序自动随着手机旋转;短信、GMAIL、日历,浏览器的用户接口大幅改进,如GMAIL可以批量删除邮件;相机启动速

13、度加快,拍摄图片可以直接上传到PICASA;来电照片显示;支持中文。ANDROID16DONUT(甜甜圈)2009年9月15日,16(DONUT;甜甜圈)版本软件开发工具包发布。主要的更新如下;重新设计的ANDROID;MARKET手势;支持支持CDMA网络;文字转语音系统华北电力大学本科毕业设计(论文)2(TEXTTOSPEECH);快速搜索框;全新的拍照接口;查看应用程序耗电;支持虚拟私人网络(VPN);支持更多屏幕分辨率,支持OPENCORE2媒体引擎;新增面向视觉或听觉困难人群的易用性插件。ANDROID20/201/21ECLAIR(松饼)2009年10月26日,20(ECLAIR松

14、饼)版本软件开发工具包发布。主要的更新如下;优化硬件速度;“CAR;HOME“程序;支持更多的屏幕分辨率;改良的用户界面;新的浏览器的用户接口和支持HTML5;新的联系人名单;更好的白色/黑色背景比率;改进GOOGLE;MAPS;312;支持MICROSOFT;EXCHANGE;支持内置相机闪光灯;支持数码变焦;改进的虚拟键盘;支持蓝牙21;支持动态桌面的设计。ANDROID22/221FROYO(冻酸奶)2010年5月20日,22(FROYO冻酸奶)版本软件开发工具包发布。整体性能大幅度的提升;3G网络共享功能;FLASH的支持;APP2SD功能;全新的软件商店;更多的WEB应用API接口的

15、开发。ANDROID23GINGERBREAD(姜饼)2011年2月2日,30(HONEYCOMB蜂巢)优化针对平板;全新设计的UI增强网页浏览功能;NAPPPURCHASES功能ANDROID31HONEYCOMB(蜂巢)2011年5月11日在GOOGLEI/O开发者大会宣布发布,HONEYCOMB蜂巢(改进30BUG)经过优化的GMAIL电子邮箱;全面支持GOOGLEMAPSANDROID手机系统跟平板系统再次合并从而方便开发者。任务管理器可滚动,支持USB输入设备(键盘、鼠标等)。支持GOOGLETV可以支持XBOX360无线手柄WIDGET支持的变化,能更加容易的定制屏幕WIDGET插

16、件。ANDROID32HONEYCOMB(蜂巢)2011年7月13日发布,支持7英寸设备;引入了应用显示缩放功能。ANDROID40ICECREAMSANDWICH(冰激凌三明治)2011年10月19日在香港发布,40(ICECREAMSANDWICH冰激凌三明治)版本主要更新;蓝色主题;接近于桌面版的CHROME;LITE浏览器,有离线阅读,同步CHROME书签,新的标签样式等;截图功能;更强大的图片编辑功能;自带照片应用堪比INSTAGRAM,可以加滤镜、加相框,进行360度全景拍摄,照片还能根据地点来排序;GMAIL加入手势、离线搜索功能,UI更强大。新增流量管理工具,可具体查看每个应用

17、产生的流量。正在运行的程序可以像电脑一样的互相切换;人脸识别功能;系统优化、速度更快;支持虚拟按键,手机可以不再拥有任何按键;专为3D优化的驱动;平板电脑和智能手机通用。ANDROID41/42JELLYBEAN(果冻豆)2012年6月28日发布。添加了基于时间和位置的语音搜索;GOOGLENOW;增加离线语音输入,即不需要联网也能够语音输入;增强通知中心;GOOGLEPLAY增加内容订阅购买功华北电力大学本科毕业设计(论文)3能;新的安卓彩蛋。ANDROID42;完整的CHROME浏览器。全新的手机风景模式;全新的文件管理器;ANDROIDKEYLIMEPIE精简版;具有开关切换的用户界面;

18、全新的电源管理系统;全新的锁屏界面;全新的时钟界面3。122ANDROID市场发展轨迹苹果公司推出的IPHONE开启了智能手机的革命,并很快获得了消费者的青睐。但ANDROID平台正以更快的速度蔓延世界。从第一台ANDROID设备TMOBILEG1于2008年10月22日在美国上市以来,在不到四年的时间里,ANDROID成长为移动操作系统的霸主。截止2012年第二季度占据全球526的市场份额,较7月多了04,与同年5月相比有17的增长。ANDROID操作系统超过称霸数以十年的诺基亚SYMBIANOS系统,在目前,使用ANDROID系统的手机厂商主要包括;SONYERICSSON、宏达电子HTC

19、、三星SAMSUNG、MOTOROLA与LG。至今,ANDROID已经成为全世界最为欢迎的智能手机平台,且平板电脑也大多应用此系统4。市场表现;1中国市场ANDROID开始在国内占据手机操作系统竞争的上风。据艾媒咨询发布的2011年中国ANDROID用户调研报告数据显示,2011年中国ANDROID智能手机用户使用品牌调查中,国内品牌华为、中兴、酷派占比分别为114、98、92。2美国市场2010年8月3日早间消息称,尼尔森公司最新数据显示,ANDROID手机在美国市场的销售量首次超过苹果IPHONE,达到27。3其他国家据国外媒体消息称,KANTARWORLDPANELCOMTECH最新数据

20、显示,ANDROID智能手机主宰了欧洲主要市场的销售,在英国、法国、意大利、西班牙及德国等五大国家的整体市场占有率从去年5月的388上升到今年5月的60。随着IOS新版本的不断推出,以及MICROSOFT已经推出的WINDOWSPHONE系统不断完善,再加上RIM即将推出的全新操作系统BLACKBERRY10做最后一搏,手机智能系统的竞争愈加激烈,但就目前来说,ANDROID手机的统治地位还是无法改变的5。13ANDROID系统的发展前景就目前而言,智能设备主要是三大玩家、七大公司所引领。三大玩家指APPLE、MICROSOFT和GOOGLE;七大公司指的是AMAZON、SAMSUNG、SON

21、YELLISON、HTC、联想和华为。就目前看,智能设备上,苹果三星暂时领先,AMAZON最有潜力。智能设备的未来不是由硬件决定的,是由第三方软件和渠道来决定。第三方软件上,苹果领先,谷歌其次,微软第三;渠道上苹果领先,亚马逊其次,微软最次。由于苹果全华北电力大学本科毕业设计(论文)4面控制了操作系统和硬件,导致其他公司大部分只能依靠安卓。类似PC战胜MAC一样,随着IPHONE潮流随乔布斯而去,众多公司合力之下,ANDROID占据智能手机主流将是发展趋势6。14课题研究意义随着科技的发展,智能手机已经开始逐步取代传统PC渗透进入了人们娱乐、生活的各个方面。从2011年开始,我们的生活开始步入

22、移动互联网时代,微博和微信已经占据了大多数人的社交圈。而作为它们的载体智能手机,时至今日也对我们的生活造成了颠覆性的影响。手机从过去单一的通话功能,到今天集通话、短信、摄影、上网、听歌、电子书于一身,不仅极大地满足了人们的通讯需求,也满足了人们的娱乐需求。手机上网,将信息整合使人们随身携带的手机成了互联网的终端机,手机与电脑相比,具有体积小、便于携带、价格便宜等优点,而且手机上网相比有着移动性的优势,从而能够迅速、及时得满足人们的信息需求。手机信息载体比报纸、广播、电视信息在信息传递上更方便、直接、快速。而作为智能手机平台中的霸主,ANDROID平台凭借其优势,得到了广阔的普及面。(1)开放性

23、在优势方面,ANDROID平台首先就是其开发性,开发的平台允许任何移动终端厂商加入到ANDROID联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开发性对于ANDROID的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。(2)不受束缚在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从2007年IPHONE上市后,用户可以更加方便地连接网

24、络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。(3)丰富的硬件这一点还是与ANDROID平台的开放性相关,由于ANDROID的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,如同从诺基亚SYMBIAN风格手机一下改用苹果IPHONE,同时还可将SYMBIAN中优秀的软件带到IPHONE上使用、联系人等资料更是可以方便地转移。(4)方便开发ANDROID平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少新颖

25、别致的软件会诞生。但也有其两面性,血腥、暴力、情华北电力大学本科毕业设计(论文)5色方面的程序和游戏如何控制正是留给ANDROID难题之一。(5)GOOGLE应用在互联网的GOOGLE已经走过10年度历史,从搜索巨人到全面的互联网渗透,GOOGLE服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而ANDROID平台手机将无缝结合这些优秀的GOOGLE服务7。综上所述,ANDROID系统的发展与成熟时大势所趋,精通基于ANDROID平台上应用软件的开发技术,也是紧随时代发展脚步的当务之急。15本文主要结构本篇文章共分为四个章节,从开端到结尾循序渐进地论述了基于ANDROID平台开发应

26、用软件的过程。各个章节涵盖内容如下。第一章绪论。向读者展示了ANDROID的由来和历史,列举了从发布至今ANDROIDSDK各个版本及其新特性,引用数据说明了ANDROID的现状及前景,讨论了这类课题的研究意义。第二章介绍了ANDROID系统的架构,ANDROID的四大组件,以及开发常用的一些控件。第三章对日历系统进行需求分析,根据需求设计系统功能,例举其中的核心代码介绍系统是如何实现的,实现后对日历系统进行了测试。第四章对整个论文的工作过程进行了总结,讨论了ANDROID的不足,并对其发展趋势进行展望。华北电力大学本科毕业设计(论文)62ANDROID系统核心技术概述21ANDROID的体系

27、结构在ANDROID操作系统中,将体系结构划分为四层;应用层(APPLICATION)、应用框架层(APPLICATIONFRAMEWORK)、系统运行库层(LIBRARIES)以及LINUX内核层(LINUXKERNEL)。这四层架构如图21所示8。图16ANDROID的体系结构(1)应用层(APPLICATION)应用层是和用户交互的一个层次,用户可以看得见的一些应用,用户可以操作。这类华北电力大学本科毕业设计(论文)7应用基本都是通过JAVA语言编写的独立的能够完成某些功能的应用程序。ANDROID本身提供了桌面(HOME),联系人(CONTACTS),拨打电话(PHONE),浏览器BR

28、OWSERS)等很多基本的应用程序。开发人员可以使用应用框架提供的API编写自己的应用程序,普通开发人员要做的事情就是开应用层的程序提供该广大消费者使用。(2)应用框架层(APPLICATIONFRAMEWORK)普通开发者可以使用ANDROID基本应用程序使用的系统API,ANDROID应用框架中的各个模块都可以被复用,各种服务也可以被复用,理解了这个机制,开发人员可以更好的更轻松的开发出优秀的ANDROID应用。开发过程中常用到的基本框架组件如下;1)一组VIEW(UI组件),这些UI组件包括BUTTON按钮),EIDTVIEW(文本框),TEXTVIEW(标签),LIST(列表)等等,灵

29、活运用这些组件可以快速方便的创建良好的用户交互界面。2)CONTENTPROVIDERS(内容提供者),听起来有点抽象,通俗的理解CONTENTPROVIDER就是提供一种服务,通过这种服务应用程序之间可以实现数据的互相访问和共享,比如通讯录的存储就使用了这种服务,其它应用也可以访问通讯录中存储的联系人信息。3)RESOURCEMANAGER顾名思义就是资源管理,ANDROID中的资源很多包括图片,用户界面(LAYOUTXML),字体,颜色,UI组件的ID等等都可以称之为资源,这些丰富的资源,都是通过RESOURCEMANAGER来统一进行管理。4)NOTIFICATIONMANAGER消息通

30、知管理),它在不影响用户正常操作和使用设备的时候在状态栏上提供消息的提示。比如有短信来的时候,ANDROID自动会将这个消息提示在状态栏上,用户可以及时的看到。5)ACTIVITYMANAGER(活动管理),ACTIVITY管理着应用程序的生命周期,并且控制着应用的导航,扮演控制器的角色。每个ACTIVITY类似于WINDOWS应用中的一个WENDOW。一般的应用都是通过一个个ACTIVITY交互构成的。6)WINDOWMANAGER窗口管理),管理所有启动的窗口。7)LOCATIONMANAGER位置管理),用来管理地图服务的相关功能。8)TELEPHONEYMANAGER电话管理),用来管

31、理有关的电话的相关功能。9)PACKAGEMANAGER(包管理),管理所有的安装在ANDROID系统内的应用程序。(3)系统运行库层(LIBRARIES)这部分内容开始涉及底层,开发普通的应用不会直接对这个层进行操作。这层中包含了一组类库(LIBRARIES)和运行时(RUNTIME。1)系统C库(LIBC),一个从BSD集成来的标准C系统函数库(LIBC)它是专门为基于嵌入式LINUX的设备定制的。2)媒体库(MEDIAFRAMEWORK),基于PACKEVIDEOOPENCORE,该库支持多种常用的音频,视频格式以及回放和录制,同时支持静态图像文件。编码格式包括;MPEG4、H264,M

32、P3、AAC、AMR、JPG、PNG。(3)SURFACEMANAGER对显示子系统的管理,并且为多个应用提供2D,3D图层的无缝融合。华北电力大学本科毕业设计(论文)84)WEBKIT,一个最新的WEB浏览器引擎,用来支持ANDIROID浏览器或者嵌入的WEB视图。5)SGL底层的2D图形引擎。6)OPENGL|ES,基于OPENGLES10APIS实现,该库可以使用硬件3D加速或者使用高度优化的3D软加速。7)FREETYPE,位图(BITMAP)和适量(VECTOR)字图显示支持。8)SQLITE,一个对所有应用程序可用,功能强大的轻量级关系型数据库引擎。9)CORELIBRARIES该

33、核心库提供了JAVA编程语言核心库的大多数功能。10)DALVIKVM,ANDROID平台的一个虚拟机,它相当于PC中JAVA的虚拟机JVM。(4)LINUX内核层(LINUXKERNEL)ANDROID的核心系统服务依赖于LINUX26内核,操作系统为ANDROID提供的服务包括;1)安全性SECURITY。2)内存管理MEMORYMANAGEMENT3)进程管理PROCESSMANAGEMENT4)网络堆栈NETWORKSTACK5)驱动程序模型DRIVERMODEL对ANDROID的整体框架有一定的了解后对与理解ANDROID的一些机制和应用开发有很大的帮助,只有了解了ANDROID框架

34、才能更好的使用ANDROID提供的功能和服务。从而使学习ANDROID应用开发少走弯路9。22ANDROID系统组件一般情况下,有四种组件组成ANDROID应用程序;活动ACTIVITY、广播接收器BROADCASTINTENTRECEIVER、服务SERVICE和内容提供器CONTENTPROVIDER。应该重视的是,并非每个ANDROID程序都需要构建该4个组件,确定要应用的组件,应该在ANDROIDMANIFESTXML中列出,它是XML配置文件,可定义程序中的组件的必要条件及功能。最基本的组件就是活动,每个活动往往是一个单独的屏幕,每个活动均被实现为独立的类,还由活动基类中继承过来。活

35、动类可以显示通过视图控件构成的用户接口,同时就事件发出响应;广播接收器能够使应用程序就外部事件发出响应,服务在ANDROID中拥有比较长的生命周期;内容提供器是对外提供数据的一个借口,类似于普通WEB运用的WEBSERVICE借口,根据标准开放出接口,使另外的应用取得数据。1ACTIVITY简介在ANDROID系统中ACTIVITY提供可视化的用户界面,一个ANDROID应用通常由多个ACTIVITY组成。多个ACTIVITY组成了ACTIVITY栈(STACK),当前活动的ACTIVITY处于栈顶。ACTIVITY有自己的生命周期,由ANDROID系统来控制。2SERVICE简介华北电力大学

36、本科毕业设计(论文)9顾名思义SERVICE就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个SERVICE类比较简单,只要继承SERVICE类,实现其生命周期中的方法就可以了。一个定义好的SERVICE必须在ANDROIDMANIFESTXML配置文件注册,通过元素声明才能使用SERVICE有自己的生命周期,我们可以调用STARTSERVICE启动一个SERVICE或者BINDSERVICE方法来绑定一个存在的SERVICE3BROADCASTRECEIVER简介BROADCASTRECEIVER顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件

37、级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。到目前为止我们可以使用INTENT来启动一个程序组件,我们还可以通过使用SENDBROADCAST方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用程序中实现BROADCASTRECEIVER来监听和响应这些广播的INTENT4CONTENTPROVIDER简介CONTENTPROVIDER用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。它是跨应用程序共享数据的唯一方法。ANDROID为常用的数据类型(如;音视频、图片和联系方式等)提供了大量的CONTENTPROVIDER。它们被定义在ANDROIDP

38、ROVIDER包下面。通过这样定义好的CONTENTPROVIDER我们可以方便的进行数据操作。当然我们必须拥有适当的权限。我们也可以自己来定CONTENTPROVIDER共享我们的数据,方便用户的访问10。23ANDROID主要控件(1)EDITTEXT主要函数SETTEXT/GETTEXT设置/获取文本内容SETHINT设置缺省显示内容(2)RADIOGROUP,RADIOBUTTONRADIOBUTTON的ISCHECKED判断是否被选中获取选中RADIOBUTON的ID设置RADIOGROUPSETONCHECKEDCHANGELISTENER方法PUBLICONCHECKEDCHAN

39、GEDRADIOGROUPGROUP,INTCHECKEDID/CHECKEDID是选中RADIOBUTTON的ID。(3)CHECKBOXISCHECKED判断是否被选中SETONCHECKEDCHANGELISTENER方法监视选中状态改变情况(4)SPINNERA,显示数据B,设置下拉列表的风格可选华北电力大学本科毕业设计(论文)10ADAPTERSETDROPDOWNVIEWRESOURCEANDROIDRLAYOUTSIMPLE_SPINNER_DROPDOWN_ITEMC,监听选项选择变更事件SETONITEMSELECTEDLISTENER设置监听去SPINNERONITEMSE

40、LECTEDLISTENER类须实现以下两个方法PUBLICVOIDONITEMSELECTEDADAPTERVIEWPARENT,VIEWVIEW,INTPOSITION,LONGID/VIEW选中项实例,POSITION选择项在ADAPTER中的位置PUBLICVOIDONNOTHINGSELECTEDADAPTERVIEWARG0D,设置选中项SPINNERSETSELECTIONPOSITION/索引从0开始GETSELECTEDITEMPOSITIONGETSELECTEDITEM/该值TOSTRING则为选中内容的字符串GETSELECTEDITEMIDGETSELECTEDVIE

41、W(5)AUTOCOMPLETETEXTVIEWSETADAPTER设置数据ADAPTER设置输入多少个字符显示提示AUTOCOMPLETETEXTVIEWSETTHRESHOLDINTTHRESHOLD(6)DATEPICKER,TIMEPICKERA,DATEPICKERB,TIMEPICKERC,获取系统当期时间和日期CALENDARGETINSTANCE返回CALENDARCALENDARGETINTFIELDFIELD可以为CALENDARYEAR/CALENDARMONTH/CALENDARDAY_OF_MONTH/CALENDARHOUR_OF_DAY/CALENDARMINUT

42、E(7)IMAGEVIEW/IMAGEBUTTON主要方法SETIMAGERESOURCE设置显示图片SETALPHA设置ALPHAINVALIDATE强制更新SETSCALETYPESCALETYPEST设置图片显示方式,ST是一枚举SETADJUSTVIEWBOUNDS设置是否调整控件适应图片大小SETBACKGROUNDRESOURCE设置背景(8)GRIDVIEW表格显示一系列图片显示数据SETADAPTERLISTADAPTERADAPTER设置数据适配器数据适配器可以继承自BASEADAPTER,该类PUBLICVIEWGETVIEWINTPOSITION,VIEW华北电力大学本科

43、毕业设计(论文)11CONVERTVIEW,VIEWGROUPPARENT返回当前选择的视图IMAGEVIEW选项选中监听SETONITEMSELECTEDLISTENERGETSELECTEDVIEW返回当前选中的视图(9)LISTVIEWA显示数据SETADAPTERLISTADAPTERADAPTERADAPTER可为NEWSIMPLECURSORADAPTER/SIMPLEADAPTERCONTEXTCONTEXT,INTLAYOUT,CURSORC,STRINGFROM,INTTOLAYOUT用来显示数据的模板显示一列可用ANDROIDRLAYOUTSIMPLE_LIST_ITEM_

44、1两列可用ANDROIDRLAYOUTSIMPLE_LIST_ITEM_2多列则需要自己实现XML视图布局文件B动态增删数据ADAPTERNOTIFYDATASETCHANGEDC数据可用ARRAYLIST构造数据FROMTO用来显示对应列的空件IDD设置背景色SETBACKGROUDROURCE1124本章小结本章节简要介绍了ANDROID系统的内核结构,对其系统构架进行了一定的阐述。分别介绍了ACTIVITY、INTENT、SERVICE及CONTENTPROVIDER四大组件,并列举了ANDROIDSDK中较为常用的一些开发控件。基于本章内容,对ANDROID系统底层有了一定程度的理解。

45、华北电力大学本科毕业设计(论文)123基于ANDROID的日历系统31需求分析311系统目标设计并实现一款基于ANDROID平台的日历系统,具备基本的日期显示功能;能够显示公历、农历、星期、节日等;并提供日程记事本功能。要求该系统能够在真机上顺利安装并运行。312功能需求描述该系统除实现基本的日历功能之外,还有附加的插件以满足用户需求。(1)可以使用户查看当天日期为何年何月何日、当天是星期几、阴历日期为多少。(2)可满足用户对于是否闰年、闰几月、生肖年、干支年的查询需求。(3)用户能够获的具体日期的节日信息,包括国际节日与中国传统节日。(4)为用户提供日程管理功能,允许在指定日期下添加、查询、

46、删除、修改提醒事件。(5)可快速将用户指定的公历日期转换为农历日期。(6)可快速跳转到用户想要查看的日期。(7)提供当天日期定位功能。313界面需求分析用户界面(USERINTERFACE,简称UI)是软件的重要部分。用户通过UI来得到服务,后台的代码结构往往与用户的直观体验关系不大,故用户界面的成功与否直接关系到用户软件的满意度12。(1)界面应布局合理,简洁大方,使用户对于日期信息一目了然(2)当天日期应特殊显示,使用户能够方便快捷地得知当天信息。(3)本月日期与非本月日期应区别显示。(4)允许用户左右滑动屏幕来跨月查询。314运行需求分析该系统应能够在虚拟机上和真机上顺利安装、运行、卸载

47、;应保证运行流畅,不卡机不死机;能够适应不同智能终端的多种设备屏幕。32系统概要设计321系统功能结构该日历系统以显示当月日期及年月日等信息的主界面为主,通过INTENT触发日程管理华北电力大学本科毕业设计(论文)13界面、公农历转换控件、当天日期定位菜单、日期跳转项。功能结构如图31所示。图31日历系统功能结构322系统界面布局本日历系统的主界面采用线性布局(LINEARLAYOUT)与列表视图(GRIDVIEW)相结合的界面构造。图32为主界面的简要布局示意13。日历系统当月日期主界面闰年生肖干支星期当月日期菜单项目当天日期定位指定日期跳转日程管理界面公历转换农历华北电力大学本科毕业设计(

48、论文)14图32主界面的布局示意图33主要算法与核心代码实现331主界面主界面提供日期信息显示,允许呼出菜单栏,并支持左右滑动。(1)主界面显示ACTIVITYPUBLICVOIDADDTEXTTOTOPTEXTVIEWTEXTVIEWVIEWSTRINGBUFFERTEXTDATENEWSTRINGBUFFERDRAWGETRESOURCESGETDRAWABLERDRAWABLETOP_DAYVIEWSETBACKGROUNDDRAWABLEDRAWTEXTDATEAPPENDCALVGETSHOWYEARAPPEND“年“APPENDCALVGETSHOWMONTHAPPEND“月“AP

49、PEND“T“IFCALVGETLEAPMONTHEQUALS“GRIDVIEWNEWGRIDVIEWTHISGRIDVIEWSETNUMCOLUMNS7GRIDVIEWSETCOLUMNWIDTH46华北电力大学本科毕业设计(论文)15IFWIDTH480GRIDVIEWSETGRAVITYGRAVITYCENTER_VERTICALGRIDVIEWSETSELECTORNEWCOLORDRAWABLECOLORTRANSPARENTGRIDVIEWSETVERTICALSPACING1GRIDVIEWSETHORIZONTALSPACING1GRIDVIEWSETBACKGROUNDRESOURCERDRAWABLEGRIDVIEW_BK(2)创建菜单PUBLICBOOLEANONCREATEOPTIONSMENUMENUMENUMENUADD0,MENUFIRST,MENUFIRST,“今天“MENUADD0,MENUFIRST1,MENUFIRST1,“跳转“MENUADD0,MENUFIRST2,MENUFIRST2,“日程“MENUADD0,MENUFIRST3,MENUFIRST3,“日期转换“RETURNSUPERONCREATEOPTIONSMENUMENU(3)左右滑动屏幕PUBLICCLASSCALENDARACTIVITYEXTE

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。