




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业论文(设计) 基于Android平台的天气查询系统的设计与开发毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。矚慫润厲钐瘗睞枥庑赖。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。聞創沟燴鐺險爱氇谴净。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。残骛楼諍锩瀨濟溆塹籟。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。酽锕极額閉镇桧猪訣锥。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。彈贸摄尔霁毙攬砖卤庑。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画謀荞抟箧飆鐸怼类蒋薔。3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它毕业论文(设计)开题报告论文(设计)题目基于Android平台的天气查询系统的设计与开发姓名系别信息技术系专业班级ZB计131学号1.选题目的和意义:该软件的设计目的是实现基于Android平台的天气查询系统的设计与开发,实现一个将各种天气查询服务功能集成起来的信息系统,既可以节省时间,又可以实现个性化的服务,减少不必要的等待和冗余的信息。研究意义:天气预报是一种非常实用的信息服务,为了让智能手机用户能够随时随地查询互联网所提供的服务,让手机用户能够通过移动网和互联网访问web网站并处理各种业务,一种高效的方法就是将应用系统的功能拓展到手机终端。Android手机是Google公司开发的一个开源手机操作系统,它包含了用户界面,操作系统和应用程序,即智能手机工作所需的全部软件。Android作为现在主流的智能手机之一,自然也需要这方面的软件。Android天气预报软件的开发可以进一步扩大天气信息的覆盖面,以便提前预防,把气象灾害降低到最低,使得广大公众能够在第一时间方便且快捷地获取最新的天气预报信息。天气预报关系到人们的日常生活,如告知温暖,方便出行等。此外,对未来天气的预测还可以帮助人们进行农作物的浇灌、施肥、收割等工作。同时也可以强化天气公共服务的职能,改善公共服务手段、完善公共服务体系、增加公共服务产品、保证公共服务质量。2.本选题在国内外的研究状况及发展趋势:国外:近些年来,世界范围的气候异常, 使人类面临日益严重的粮食、能源和水资源危机,因此社会对气象工作提出了更为迫切的要求。与此同时,遥感技术,电子计算机等最新科学技术进入气象业务,形成了新的大气探测技术,快速通信和计算处理,从而获取更多的大气信息,推动了气象业务的发展。国外气象业务发展的一个重要趋势是日益趋向自动化,即把自动化观测、数据处理、通信及客观分析、预报制作和发布结合成一个完整的自动化系统。许多先进技术迅速地应用于气象业务中,可供天气预报用的实时和非实时资料的数量急增,这就要求利用自动化的高速通信技术和信息处理技术处理这些资料。为适应上述发展,一些发达国家正逐步改进各自的气象通信体制,加速气象通信现代化。国内:随着人们生活水平的普遍提高,人们对生活质量的要求也越来越高,然而外部自然气候的变化却不容乐观。不管是外出旅行还是农业生产等,气候变化情况一直都引起人们的普遍关注,人们迫切的需要随时随地的掌握准确的天气预报信息。目前,移动终端上的查询系统的应用迎来了一个崭新的时代,手机的普及、功能的日益强大以及互联网的迅猛发展为基于手机系统开发天气预报查询软件提供了可能。比如,如果有雨,就建议出门带伞;如果温度高于某值就建议防晒等。基于手机的天气预报查询系统软件可以使用户方便对各地的天气情况的实时掌握,极大的方便了用户的行程安排或其他情况,避免了不必要的麻烦,且界面美观,操作简单,具有很强的实用性。随着移动设备性能的不断提高,无线网络从2G提高到3G甚至4G,天气预报在科技不断进步的推动下也需要朝着信息多元化演变,应该从单纯的文字信息逐渐向文字图像视频等多种数据融合转变。形成了一个集中、统一、数字化的天气预报系统,实现智能终端高效、及时、稳定的信息交互。3.主要研究内容:Android平台天气预报系统是基于Android手机平台,基于Java,开发出针对使用Android平台的手机天气预报系统的应用软件。为了让智能手机用户能够随时随地查询互联网所提供的服务,让手机能通过移动网和互联网访问Web网站并处理各项业务,是一种高效的办法就是将应用系统的功能拓展到手机终端。Android系统是Google公司开发的一个开源手机操作系统,它包括了用户界面、操作系统和应用程序,即智能手机工作所需的全部应用软件。Android最大特点是它的开放性体系架构,不仅具有非常好的调试、环境开发,而且还具有各种可扩展的设施,包括丰富的多媒体支持功能和图形组件强大的浏览器。此App应具备以下主要功能:1.注册用户、用户登录;2.天气预报模块:今天及最近45天的天气状态;并将天气信息以曲线图的方式显示;3.生活模块包含:穿衣/雨具/紫外线/洗车等;4.我模块包含:城市管理/通知提醒/意见反馈/给我们评分/关于等;4.完成论文的条件、方法及措施,包括实验设计、调研计划、资料收集、参考文献等内容。(1)完成论文的条件软件环境:window7eclipseandroid SDKandroid ADT 可通过网络或者图书馆查阅大量相关文献资料充分利用下载一些相关的软件,进行软件功能体验,模仿学习(2)方法及措施:实验设计天气预报API是一个针对当前天气编写的一个API调用接口,通过此接口可以获取一个城市的温度、气候、紫外线等信息,从而应用到自己编写的程序中。调研计划第1-2周:毕业实习。第3周:完成实习报告。第4-5周:查阅资料,完成外文翻译和文献综述。提出设计方案,完成开题报告。第6-7周:完成软件界面模块、功能模块部分代码实现。第8-9周:完成模块的整合和软件功能测试。第10周:整理资料、撰写毕业论文,完善软件功能。第11-12周:根据导师要求,完善论文,系统验收,提交论文。第13周:毕业设计答辩、毕业设计修改。资料收集在网上收集大量的材料,主要在百度百科、谷歌、百度文库、百度贴吧、百度问答等等,收集相关资料。参考文献1李刚.疯狂Android讲义M.北京:电子工业出版社,2011.2王向辉,张国印,沈洁.Android应用程序开发M.清华大学出版社,2010.33景保玉.2010中国移动应用开发现状与趋势大调查,2011.01.124MichaelJ.Young.轻松搞定XML林嘉胜译M2001.01.085王向辉,张国印,沈洁.Android应用程序开发M.清华大学出版社,2010.36景保玉.2010中国移动应用开发现状与趋势大调查,2011.01.12.7(美)CayS.Horstmann;GaryCornell.Java核心技术M.机械工业出版社,20088(美)EdBurnette.Android基础教程.北京:人民邮电出版社,20109(英)Herbert Schildt Java参考大全(J2SE 5 Edition)M,清华大学出版社10郭志宏. Android应用开发详解M.电子工业出版社. 2010.11杨丰盛.Android应用开发揭秘M. 机械工业出版社. 2010.12靳岩,姚尚朗. Google Android开发入门与实践M.人民邮电出版社. 2009.13美EdBurnette.Android基础教程.北京:人民邮电出版社,201014吴亚峰.Android开发设计N.计算机报,2011-03-0515郝玉龙.Android开发讲议J.清华学报,2011-06-04,2011(6)。16杨海波.Android手机系统讲座J.电脑报2011-06-01,2011(6)5.指导教师意见及建议:签字: 年 月 日摘要天气预报是非常实用的信息服务,随着移动设备的性能不断提高,天气预报在科技不断进步的推动下,已实现了集中、统一、数字化的服务。随着人们日常生活水平的提高,迫切需要高效、及时、稳定的天气高速交互平台。因此,实现一个天气预报服务功能的信息系统就显得十分必要。即可以节省时间,又可以实现个性化的服务,减少不必要的等待和繁重的信息,方便用户及时了解最新的天气信息。厦礴恳蹒骈時盡继價骚。本文介绍了通过访问聚合数据全国天气预报的数据接口,使用HttpClient进行Get方式通信,建立网络连接,使用HttpGet方法读取数据,并且通过HttpResponse获取Entity返回值。并且解析出来获取实时天气,未来45天的天气预报及生活信息。用户可以选择城市来获得包括风力、风向、紫外线强度等的天气信息。极大的方便了用户的行程安排或其他情况,避免了不必要的麻烦,且界面美观,操作简单,具有很强的实用性。茕桢广鳓鯡选块网羈泪。关键字:数据接口;界面;实时天气预报;AndroidAbstractThe weather forecast is very practical information service, with the continuous improvement of the performance of mobile devices, weather forecast under the impetus of the continuous progress of science and technology, has realized the centralized and unified, digital services. With the improvement of peoples daily living standards, it is urgent to need efficient, timely and stable weather interactive platform. Therefore, it is necessary to realize the information system of a weather forecast service function. That saves time, but also can achieve personalized service, reduce unnecessary waiting and heavy information, convenient users to understand the latest weather information.鹅娅尽損鹌惨歷茏鴛賴。By visiting the polymerization data the weather data interface, using httpclient to get communication mode, to establish a network connection, use httpget to read the data and through the httpresponse acquiring entity return value, is introduced in this paper. And resolved to get real-time weather, weather forecasts and life information of the next 45 days. Users can choose the city to get the weather information including wind, wind direction, UV intensity and so on. Greatly convenient for the user itinerary or other circumstances, to avoid unnecessary trouble, and the interface is beautiful, simple operation, with strong practicality.籟丛妈羥为贍偾蛏练淨。Keywords: API; UI; Real-time weather forecast; Android預頌圣鉉儐歲龈讶骅籴。 目录摘要I渗釤呛俨匀谔鱉调硯錦。AbstractII铙誅卧泻噦圣骋贶頂廡。第1章 引言1擁締凤袜备訊顎轮烂蔷。1.1 研究背景1贓熱俣阃歲匱阊邺镓騷。1.2 国内外的研究状况及发展趋势1坛摶乡囂忏蒌鍥铃氈淚。1.3 系统分析及其主要内容2蜡變黲癟報伥铉锚鈰赘。1.4 论文组织结构2買鲷鴯譖昙膚遙闫撷凄。第2章 系统实现所涉及的技术3綾镝鯛駕櫬鹕踪韦辚糴。2.1 Android系统概述3驅踬髏彦浃绥譎饴憂锦。2.2 Eclipse介绍3猫虿驢绘燈鮒诛髅貺庑。2.3 Android系统框架4锹籁饗迳琐筆襖鸥娅薔。2.4 Android四大组件4構氽頑黉碩饨荠龈话骛。2.5 用户界面6輒峄陽檉簖疖網儂號泶。2.6 Fragment7尧侧閆繭絳闕绚勵蜆贅。2.7 网络编程之使用HttpClient进行Get方式通信7识饒鎂錕缢灩筧嚌俨淒。第3章 开发环境配置9凍鈹鋨劳臘锴痫婦胫籴。3.1 Android开发框架9恥諤銪灭萦欢煬鞏鹜錦。3.2 开发所需软件12鯊腎鑰诎褳鉀沩懼統庫。3.2.1 Android开发环境配置13硕癘鄴颃诌攆檸攜驤蔹。3.2.2 Eclipse的设置14阌擻輳嬪諫迁择楨秘騖。第4章 系统总体分析与模型设计15氬嚕躑竄贸恳彈瀘颔澩。4.1 系统的总体结构15釷鹆資贏車贖孙滅獅赘。4.2 功能分析16怂阐譜鯪迳導嘯畫長凉。4.2.1 天气模块功能分析16谚辞調担鈧谄动禪泻類。4.2.2 生活模块功能分析17嘰觐詿缧铴嗫偽純铪锩。4.2.3 我模块功能分析17熒绐譏钲鏌觶鷹緇機库。4.3 系统流程图18鶼渍螻偉阅劍鲰腎邏蘞。第5章 详细设计20纣忧蔣氳頑莶驅藥悯骛。5.1 新建工程20颖刍莖蛺饽亿顿裊赔泷。5.2 Android UI界面的实现21濫驂膽閉驟羥闈詔寢賻。5.3 登陆注册模块的实现22銚銻縵哜鳗鸿锓謎諏涼。5.4 界面切换功能实现23挤貼綬电麥结鈺贖哓类。5.5 天气模块的实现23赔荊紳谘侖驟辽輩袜錈。5.5.1 天气信息24塤礙籟馐决穩賽釙冊庫。5.5.2 温度曲线图的画法25裊樣祕廬廂颤谚鍘羋蔺。5.5.3 下拉刷新25仓嫗盤紲嘱珑詁鍬齊驁。5.6 生活模块的实现25绽萬璉轆娛閬蛏鬮绾瀧。5.7 我模块的实现26骁顾燁鶚巯瀆蕪領鲡赙。5.7.1 城市管理的功能实现26瑣钋濺暧惲锟缟馭篩凉。5.7.2 通知提醒功能实现27鎦诗涇艳损楼紲鯗餳類。第6章 系统测试28栉缏歐锄棗鈕种鵑瑶锬。6.1 测试目的28辔烨棟剛殓攬瑤丽阄应。6.2 测试环境29峴扬斕滾澗辐滠兴渙藺。6.3 测试结果30詩叁撻訥烬忧毀厉鋨骜。致谢32则鯤愜韋瘓賈晖园栋泷。参考文献33胀鏝彈奥秘孫戶孪钇賻。附 录34鳃躋峽祷紉诵帮废掃減。附录A: 主要源程序34稟虛嬪赈维哜妝扩踴粜。附录B: 软件使用说明书45陽簍埡鲑罷規呜旧岿錟。附录C: 光盘46沩氣嘮戇苌鑿鑿槠谔應。 XI中原工学院信息商务学院毕业设计(论文)第1章 引言许多先进技术迅速地应用于气象业务中,可供天气预报用的实时和非实时资料急增,这就要求利用自动化的高速通信技术和信息处理技术处理这些资料。为适应上述发展,正逐步改进气象通信体制,加速气象通信现代化。钡嵐縣緱虜荣产涛團蔺。现在人们生活水平的提高,对生活质量的要求也越来越高,然而外部自然气候的变化却不容乐观。不管是外出旅行还是农业生产等,气候变化情况一直都引起人们的普遍关注,人们迫切的需要随时随地的掌握准确的天气预报信息。比如,如果有雨,就建议出门带伞;如果温度高于某值就建议防晒等。懨俠劑鈍触乐鹇烬觶騮。1.1 研究背景Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。在如今这个智能手机系统群雄纷争的时候,Android采用Linux内核,开放手机联盟成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限的吸引力。2013年09月24日Android迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。謾饱兗争詣繚鮐癞别瀘。1.2 国内外的研究状况及发展趋势近些年来,世界范围的气候异常, 使人类面临日益严重的粮食、能源和水资源危机,因此社会对气象工作提出了更为迫切的要求。与此同时,遥感技术,电子计算机等最新科学技术进入气象业务,形成了新的大气探测技术,快速通信和计算处理,从而获取更多的大气信息,推动了气象业务的发展。国外气象业务发展的一个重要趋势是日益趋向自动化,即把自动化观测、数据处理、通信及客观分析、预报制作和发布结合成一个完整的自动化系统。呙铉們欤谦鸪饺竞荡赚。移动设备性能的不断提高,无线网络从2G提高到3G甚至4G,天气预报在科技不断进步的推动下也需要朝着信息多元化演变,应该从单纯的文字信息逐渐向文字图像视频等多种数据融合转变。形成了一个集中、统一、数字化的天气预报系统,实现智能终端高效、及时、稳定的信息交互。莹谐龌蕲賞组靄绉嚴减。1.3 系统分析及其主要内容Android平台的天气预报软件可以进一步扩大气象信息的覆盖面,让广大Android手机用户能够在第一时间获取最新的天气预报信息,以便提前预防,方便出行。同时,把气象灾害造成的损失降到最低,也可以提高公共服务质量,更好的发挥气象事业对经济社会发展的现实性作用,有巨大的实用价值。该技术在Android平台已经比较成熟,通过该软件的开发让我们更好的认识Android系统的工作原理。麸肃鹏镟轿騍镣缚縟糶。本软件是一个App 应用程序,启动程序后可以切换城市,通过图片和文字显示当前和未来的天气状况,包括温度、湿度、风向和雨雪情况等。这些天气数据通过后台服务获取,后台服务可以按照一定时间间隔,从互联网上获取天气预报信息,并将天气信息解析显示在手机界面上。納畴鳗吶鄖禎銣腻鰲锬。从上面的描述中可以基本了解软件的功能需求:(1) 启动App应用程序注册登陆。(2) 显示天气模块:通过文字和图片显示当前的天气情况,包括日期、时间、城市、最高温度、最低温度、当前温度等。風撵鲔貓铁频钙蓟纠庙。(3) 显示生活模块:通过文字图片动画显示当前的天气情况,包括城市当前天气、温度、风向、风速、湿度;同时显示今后5天的天气情况。灭嗳骇諗鋅猎輛觏馊藹。(4) 我模块:城市管理,通知提醒,意见反馈,关于。1.4 论文组织结构本论文讨论的是基于android平台的天气查询系统的设计与开发,所以本文的组织结构就是围绕着基于基于android平台的天气查询系统的设计与开发的整个过程来进行。铹鸝饷飾镡閌赀诨癱骝。第一章 引言。第二章 系统实现所涉及的技术。 第三章 安卓开发环境配置。第四章 系统总体分析与模型设计。第五章 详细设计,对界面模块设计、数据解析、曲线图的画法进行代码设计。 第六章 测试,对设计功能进行了测试。 文章最后是总结、致谢与参考文献等。第2章 系统实现所涉及的技术2.1 Android系统概述Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。攙閿频嵘陣澇諗谴隴泸。Android一词最早出现于法国作家利尔亚当(Auguste Villiers de lIsle-Adam)在1886年发表的科幻小说未来夏娃(Lve future)中。他将外表像人的机器起名为Android。Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号,1于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了。其中的文字使用了Ascender公司专门制作的称之为“Droid ” 的字体。Android是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵。有时候,它们还会使用纯文字的Logo。趕輾雏纨颗锊讨跃满賺。2012年7月美国科技博客网站BusinessInsider评选出二十一世纪十款最重要电子产品,Android操作系统榜上有名。夹覡闾辁駁档驀迁锬減。2.2 Eclipse介绍Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。视絀镘鸸鲚鐘脑钧欖粝。它主要由Eclipse项目、Eclipse工具项目和、Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。偽澀锟攢鴛擋緬铹鈞錠。2.3 Android系统框架Android系统的软件开发,语言基础是java语言,通过控件的设置以及方法调用,实现一系列的功能。Android系统提供给应用程序开发者的只是一个框架,在该平台下开发应用程序必须要遵守这个框架原则。我们开发的应用程序其实就是在这个框架上进行拓展,下面介绍一下android这个框架所提供的功能。緦徑铫膾龋轿级镗挢廟。Android.app:提供最上层的程序模型和运行环境。Android.content:包含对设备上的数据进行访问和发布的类。Android.database:Android系统内置一个轻量级的SQLite数据库。Android.graphics:底层的图形库,包含颜色过滤,画布,矩形,点,可以用来将它们直接绘制到屏幕上。騅憑钶銘侥张礫阵轸蔼。A: 提供用来帮助访问网络的类。Android.location:定位以及与定位有关的一些类。Android.util:涉及到一些实用性的方法,例如对时间和日期进行操作。Android.media: 提供一些管理多种视频,音频的媒体接口。Android.os:提供了系统服务,IPC机制和消息传输。Android.opngl:提供了OpenGL的工具。Avider:提供了访问Android中的内容提供者的类。Android.telephony:提供用来与拨打电话相关的API交互的类。Android.view: 提供最基本的用户界面接口框架。Addroid.webkit:提供用来调用默认浏览器的接口。Android.widget包含各种UI元素,可以在应用程序的布局中使用。2.4 Android四大组件一个Android 应用程序,通常由Activity、Intent Receiver、Service、CONtent Provider 四种功能组件构成。但是,并不是每一个Android 应用程序都需要用到这四种功能组件,而是只需上述四种功能组件的某些组合。疠骐錾农剎貯狱颢幗騮。(1) ActivityActivity是最基本的Android 应用程序组件。大多数应用由多个屏幕组成,一个Activity 通常则是一个单独的屏幕。每一个Activity 都被实现为一个独立的类,并且从Activity 基类中继承而来。Activity 类将会显示由视图控件组成的用户接口,并对事件做出响应。Android 使用Intent 这个特殊类,实现在屏幕与屏幕之间移动。通过解析各种Intent,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时,Activity 将会调用STartActivity(Intent myIntent)方法,然后,系统会在所有安装的应用程序中所定义的IntentFilter 中查找,找到最匹配myIntent的和Intent 对应的Activity.新的Activity 接收到myIntent 的通知后,开始运行。当startActivity 方法被调用时将触发解析myIntent 的动作。这个机制具有两点优势:一是能够重复利用从其他组件中以Intent 形式产生的一个请求;二是Activity 可以在任何时候被一个具有相同IntentFilter 的新Activity 取代。镞锊过润启婭澗骆讕瀘。Activity的生命周期在Android开发中,Activity是非常重要的。Activity主要负责创建和显示窗口,也可以把一个Activity理解成一个显示的屏幕;在Android的应用中不是仅有一个Activity,而是由很多个Activity存在。因其重要性,开发Android务必熟悉Activity生命周期。榿贰轲誊壟该槛鲻垲赛。onCreateView:Activity初次创建时被调用,一般在这里创建view,初始化布局信息,将数据绑定到list以及设置监听器等。如果Activity首次创建,本方法将会调用onStart( );如果是停止后重新显示,则将调用onRestart( )。邁茑赚陉宾呗擷鹪讼凑。onStart:当Activity对用户即将课件的时候被调用onResume( )。onRestart:当Activity停止后重新显示的时候被调用,然后调用onStart( )。onPause:当系统要启动一个其他的Activity时调用(其他的Activity显示之前),这个方法使用来停止动画和其他占用CPU资源的事情,所以这这里应该保存那些持久数据,这些数据可以在onResume( )方法中读出。嵝硖贪塒廩袞悯倉華糲。onStop:当另一个Activity恢复并遮盖住当前Activity,导致其对用户不再可见时调用,一个新的Activity启动,其他Activity重新回到前景与用户交互时会重新调用onResume( ),如果Activity将退出则调用哦你D额story( )。该栎谖碼戆沖巋鳧薩锭。onDestory:在当前Activity被销毁之前所调用的最后一个方法,当进程 终止前调用。(2) Intent ReceiverIntent Receiver 是实现的应用能够对一个外部的事件作出响应。Intent Receiver 在AndroidManifest.xml 中注册,也可以在代码中使用Context.registerReceiver( )进行注册。当一个IntentReceiver 被触发时,应用不必对请求调用 Intent Receiver,系统会在需要的时候启动应用。各种应用还可以通过使用Context.brOAdcastIntent( )将它们自己的Intent Receiver广播给其他应用程序。劇妆诨貰攖苹埘呂仑庙。(3) ServiceService 是一段长生命周期的、没有用户界面的程序。例如媒体播放器这个Activity 会使用Context.startService( )来启动一个Service,从而可以在后台播放音乐。同时,系统也将保持这个Service 一直执行,直到Service 运行结束。系统可通过使用Context.bindService( )方法,连接到一个Service 上(如果这个Service 还没有运行将启动它)。当连接到一个Service 之后,还可以利用Service 提供的接口与它通信。就媒体播放器来说,还可以进行暂停、重播等操作。 臠龍讹驄桠业變墊罗蘄。(4) Content ProviderContent Provider是Android 应用程序能够将它们的数据保存到文件、SQL 数据库,甚至是任何有效的设备中。Content Provider 实现了应用数据与其他的应用程序的共享。Content Provider 类实现一组标准的方法,能够让其他应用程序保存或读取此ContentProvider处理的各种类型数据。在Android 中,默认使用SQLite 作为系统数据库,但使用方法略有不同。Android 中每一个应用程序都运行在各自的进程中,当访问其他应用程序的数据时,需要在不同的虚拟机之间传递数据,这样操作起来会有些困难(正常情况下,不能读取其他应用程序的数据库文件)。ContentProvider 正是解决不同的应用包共享数据的工具。鰻順褛悦漚縫冁屜鸭骞。2.5 用户界面Android系统的界面空间分为定制控件。定制空间是用户独立开发的空间,或者通过继承并修改系统空间后所产生的新空间,能够提供特殊的功能和显示需求。系统控件是Android系统中已经封装好的界面控件,而在代码中动态修改需要更新状态的界面元素。当然,用户也可以将所有的界面元素,无论在程序运行后是否需要修改其内容,都放在代码中进行定义和声明。很明显这不是一种良好的界面设计模式,会给后期界面修改带来不必要的麻烦,是应用程序开发过程中最常见的功能控件。系统控件更有利于进行快速开发,同事能够使Android应用程序的界面保持一定的一致性。穑釓虚绺滟鳗絲懷紓泺。常见的系统控件包括TextView、EditView、Button、ImageButton、CheckButton、Spinner、ListView和Tablehost。隶誆荧鉴獫纲鴣攣駘賽。界面布局(layout)是用户界面结构的描述,定义界面中所有的元素、结构和相互关系。一般生命Android程序的界面布局有两种方法,第一种是使用XML文件描述界面的布局,另一种是在程序运行时动态添加或修改界面布局。浹繢腻叢着駕骠構砀湊。Android系统在生命界面布局上提供了很好的灵活性,用户既可以独立使用任何一种声明布局的方式,也可以同时使用两种方式。一般情况下,使用XML文件来描述用户界的基本元素,而在代码中动态修改需要更新状态的界面元素。当然,用户也可以将所有的界面元素,无论在程序运行后是否需要修改其内容,都放在代码中进行定义和声明。很明显这不是一种良好的界面设计模式,会给后期界面修改带来不必要的麻烦,而且界面较多时,程序代码也会显示凌乱不堪。鈀燭罚櫝箋礱颼畢韫粝。使用XML文件声明界面布局,能够更多地将程序的表现层和控制层分离,在修改界面时将不再需要更改程序的源代码。惬執缉蘿绅颀阳灣熗鍵。界面布局的种类:(1) 线性布局:线性布局(LinearLayout)是一种重要的界面布局,也是经常使用的界面布局。在线性布局中,所有子元素都在垂直或水平方向按照顺序在界面上排序。贞廈给鏌綞牵鎮獵鎦龐。(2) 框架布局: 框架布局(FrameLayout)是最简单的界面布局,用来存放一个元素的空白控件,且子元素的位置不能够制定的,只能够放置在空白空间的左上角。嚌鲭级厨胀鑲铟礦毁蕲。(3) 表格布局:(TableLayout)也是一种常用的界面布局,它将屏幕划分为表格,通过制定行和列可以将界面元素添加到表格中。薊镔竖牍熒浹醬籬铃騫。(4) 相对布局:(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素与其他元素的相对位置关系,确定界面中所有元素的布局为止。齡践砚语蜗铸转絹攤濼。(5) 绝对布局:(AbsoluteLayout)能通过指定界面元素的坐标文职,来确定用户界面的整体布局。绅薮疮颧訝标販繯轅赛。2.6 FragmentFragment的主要目的在大屏幕设备上实现灵活的、动态的界面设计。例如,在Android的平板电脑上,因为屏幕有更多的空间来配置更多的组件,并且这些组件之间还会产生一定的数据交互。饪箩狞屬诺釙诬苧径凛。Fragment支持这种设计理论,开发人员不需要管理复杂的试图结构变化,而且把这些动态的管理交给Fragment和回退堆栈(back stack)完成,在进行界面设计时,只需要将界面布局按照功能和取于划分为不同的模块,每个模块设计成一个Fragment即可。烴毙潜籬賢擔視蠶贲粵。Fragment具有和Activity类似的生命周期,但是比Activity支持更多的事件回调函数。Fragment生命周期中回调函数。鋝岂涛軌跃轮莳講嫗键。2.7 网络编程之使用HttpClient进行Get方式通信基于Android 操作系统的天气实况预报系统设计的核心是通过调用通信协议SOAP(Simple Object AccessProtocol)的接口,从Web Service 提供商中提取天气预报的数据信息。采用HttpPost来与后台交互,然后对数据进行解析,从中找到需要的数据。如下图所示为提供webservice服务的网站网络拓扑图撷伪氢鱧轍幂聹諛詼庞。图 2-1 网络拓扑图在Android开发中,Android SDK附带了Apache的HttpClient,它是一个完善的客户端。它提供了对HTTP协议的全面支持,可以使用HttpClient的对象来执行HTTP GET和HTTP POST调用。踪飯梦掺钓貞绫賁发蘄。HTTP工作原理:(1) 客户端(一般是指浏览器,这里是指自己写的程序)与服务器建立连接(2) 建立连接后,客户端向服务器发送请求(3) 服务器接收到请求后,向客户端发送响应信息(4) 客户端与服务器断开连接HttpClient的一般使用步骤:(1) 使用DefaultHttpClient类实例化HttpClient对象(2) 创建HttpGet或HttpPost对象,将要请求的URL通过构造方法传入HttpGet或HttpPost对象。婭鑠机职銦夾簣軒蚀骞。(3) 调用execute方法发送HTTP GET或HTTP POST请求,并返回HttpResponse对象。譽諶掺铒锭试监鄺儕泻。(4) 通过HttpResponse接口的getEntity方法返回响应信息,并进行相应的处理。最后记得要在AndroidManifest.xml文件添加网络权限俦聹执償閏号燴鈿膽賾。聚合数据全国天气预报数据接口使用HttpClient进行Get方式通信,通过HttpClient建立网络连接,使用HttpGet方法读取数据,并且通过HttpResponse获取Entity返回值。缜電怅淺靓蠐浅錒鵬凜。第3章 开发环境配置3.1 Android开发框架下图是Android的体系架构图,自上而下分别为应用层、应用框架、类库和Alvik运行时环境以及Linux内核。骥擯帜褸饜兗椏長绛粤。图3.1 Android的体系架构图一般来说,我们想从事Android开发,可以从应用开发作为切入点,逐渐熟悉其整个体系,并慢慢往其底层渗透,从而能做到软硬兼备,Android系统开发班的课程设置就充分考虑到了这一点,既涉到应用开发的透彻掌握,又帮助大家在系统开发层面上做好充分的准备。而从学习的路线图上来说,先熟悉Java SE编程,能比较熟练的使用Java语言进行编程,熟悉Java语言语法特点,熟悉Java IO、Java线程、网络编程、XML处理等。另外,因为很多的Android应用在运行时都需要去访问网站服务器,因此,熟悉一种网络编程语言也是必要的。 癱噴导閽骋艳捣靨骢鍵。无论是从开发班的课程设置就充分考虑到了这一点,既涉到应用开发的透彻掌握,又帮助大家在系统开发层面上做好充分的准备。而从学习的路线图上来学习的方便性还是市场占有情况来说使用JSP/Servlet都是不二的选择,另外,在这个阶段也顺便学习一下SQL语法和熟悉一种SQL数据库,以方便后续Android开发中进行SQLite数据库开发。学习完这些课程后,就可以开始进行Android的应用开发的学习,例如Android中的UI组件、基本组件、数据存储、传感器、图形图像处理、多媒体处理、游戏开发等。鑣鸽夺圆鯢齙慫餞離龐。Android包含一套C/C+库,Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。Android的核心类库提供Java类库所提供的绝大部分功能。每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。 Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)该格式经过优化,以降低内存耗用到最低。Java编译器将Java源文件为class文件,class文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。在一些底层功能比如线程和低内存管理方面,Dalvik虚拟机是依赖Linux内核的。榄阈团皱鹏緦寿驏頦蕴。为了更好地进行应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业安全证书培训课件
- 企业安全知识培训讲稿课件
- 2025年乡村振兴应知应会考试题及答案
- 出纳安全培训建议课件
- 出租车员安全培训课件
- 教育均衡发展模式-洞察及研究
- 2025贷款协议方案:中国工商银行借款合同
- 2025农产品订购服务合同
- 空间数据与地方认同-洞察及研究
- 2025专业体育教练劳动合同
- 妊娠合并地中海贫血护理
- 2025年汽车零部件企业公司组织架构图职能部门及工作职责
- 机械加工质量控制计划
- 《水利工程质量》课件
- 《市场营销岗位介绍》课件
- 《电子收费系统E》课件
- 2024年全国《考评员》专业技能鉴定考试题库与答案
- 原材料不合格品处理流程
- 40m预制箱梁汽车吊双机台吊专项方案(经典)
- 人教版小学数学四年级上册教案全集(表格式教案)
- 全国人力资源和社会保障法律法规知识网络竞赛题及答案
评论
0/150
提交评论