




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Southwest University of Science and Technology本科毕业设计(论文)题目:基于 Android 的天气预报系统设计 学生姓名: xxx 学生学号: xxxx 专 业: 通信工程 指导教师: xxx 学院 (部): 信息工程学院 教务处制表Southwest University of Science and Technology 基于 Android 的天气预报系统设计基于 Android 的天气预报系统设计摘要最近几十年来,全球范围气候异常,人们面临越发严重的能源、粮食和水资源危机,因而国家对气象工作提出了迫切要求。同时,随着人们生活水平的大幅提高,大家对生活质量的要求也随之高涨,个人、企业乃至社会都迫切的需要随时随地的掌握准确即时的天气预报信息。本论文介绍了一款基于 Android 的天气预报系统设计及实现过程。本设计采用 C/S 模式,客户端通过 HTTP 连接获取聚合数据 API 的天气数据,通过手动选择城市或者自动定位查询天气信息。采用了 Android 开源系统技术,它可以通过图片和文字显示当天和未来几天的天气情况。本设计通过定位城市获取气象信息,用户可以了解到实时天气、未来三天天气、空气质量等数据,避免损失方便出行,具有一定的观赏性和可用性。软件主要功能包括加载界面模块、城市选择模块、显示天气模块、详细信息模块和数据刷新模块。经过测试,结果表明该软件使用方便,完全满足人们全面了解天气信息的需求。关键词:气象,互联网,Android ,天气预报 Southwest University of Science and Technology 基于 Android 的天气预报系统设计DESIGN OF WEATHER FORECAST SYSTEM BASED ON ANDROIDABSTRACTIn recent decades, the global climate anomalies, people are facing more serious energy, food and water crisis, and thus the country on the meteorological work made an urgent request. At the same time, with the substantial improvement in peoples living standards, we also demand for quality of life also rose. Individuals, businesses and even the society urgent need for any time and anywhere to grasp the accurate weather forecast information.This paper introduces a design and implementation process of a weather forecasting system based on Android. The design uses C / S mode, the client through the HTTP connection to obtain the data of the aggregation data API. Querying weather information by manually selecting the city or automatically locating. Using the Android open source system technology, it can be through the pictures and text shows the day and the next few days of weather conditions. The design through the positioning of the city to obtain weather information, users can understand the real-time weather, the next three days weather, air quality and other data, to avoid loss of travel, with a certain ornamental and usability.The main functions of the software include loading interface module, city selection module, display weather module, detailed information module and data refresh module. Test results show that the software is easy to use, fully meet the people a comprehensive understanding of weather information needs.Key words: meteorology, Internet, Android, weather forecastSouthwest University of Science and Technology 基于 Android 的天气预报系统设计目 录第一章 绪论-11.1 系统开发的目的及意义-11.2 研究现状和发展趋势-11.3 数据来源介绍-21.4 论文组织结构-2第二章 平台及关键技术介绍-32.1 Android 介绍 -32.2 Android 与其他平台的比较-42.3 Android 基础知识-42.3.1 四大组件-42.3.2 六大布局-52.3.3 五大存储-52.4 Android 基本架构-6第三章 开发环境搭建-93.1 开发环境介绍-93.2 开发所需设备-113.2.1 eclipse 软件-113.2.2 Android 手机/模拟器-11第四章 系统分析-124.1 功能分析-124.2 流程分析-134.3 UI 界面分析-144.3.1 引导页面-144.3.2 主界面-144.3.3 城市选择界面-15第五章 详细设计-165.1 创建工程-165.2 UI 实现 -175.2.1 引导界面-175.2.2 主界面-185.2.3 城市选择界面-195.3 数据获取及解析-195.3.1 聚合数据平台申请数据-195.3.2 根据城市名查询天气-205.3.3 城市天气三小时预报-21Southwest University of Science and Technology 基于 Android 的天气预报系统设计5.3.4 支持城市列表-215.3.5 城市空气质量-225.4 下拉刷新-225.5 Service 初始化及实现-235.6 存在问题及解决方案-245.6.1 数据无法解析-245.6.2 JSON 解析报错-255.6.3 PM2.5 区域的数据解析无从下手-255.6.4 间隔三小时天气区域数据显示不全-255.6.5 分段显示图片-265.6.6 无法获取数据-26第六章 系统测试-27第七章 结论-29参考文献-31谢辞-32Southwest University of Science and Technology 基于 Android 的天气预报系统设计第 1 页 共 32 页第一章 绪论当今社会,竞争激烈,企业乃至国家之间,竞争的是资源。比资源更为重要的是信息 1。信息在现代经济生活中的作用越来越大,已经成为市场竞争的重要手段。对于企业来说,信息的重要性更是不言而喻。缺乏信息,即使有了资金、厂房、物资和能源,办企业也十分困难,因为企业没有生命力。因而,信息是最重要的资源,谁占有的信息多、掌握的信息准确,谁就有了权威,有了制胜的先机。然而,随着现代社会人们获得信息的渠道越来越广泛,除了报纸、广播、电视等传统渠道,互联网、手机以及目之所及的户外大屏幕等新型渠道的加入,使得人们获取各类信息的途径不断增加,尤其是人们对信息重要程度的认识越来越普及和深入,信息垄断被打破,大量的信息被人们所共享。古有飞鸽传书,可传战事之急;今有天气预报,可测明日风云。1.1 系统开发的目的及意义天气预报为人们了解天气状况和出行安排带来了方便,曾经,大多数人通过电视了解天气预报,查询起来并不是很便捷。随着智能手机的普及和 4G 技术的发展,手机端实现天气查询成为了更好的选择,因此,实现手机端的天气预报系统成为了人们迫切需要且切实可行的需求。由于智能手机的快速普及,智能操作系统在手机市场占据了很大一部分,其中以Android 和 iOS 最为流行 2。为了让智能手机用户能够随时随地查询互联网所提供的信息,一种非常高效的方法就是将网络系统的功能扩展到智能手机终端上,让手机能够通过移动网络使用手机应用并处理各种各样的业务。Android 平台的天气预报软件的开发可以进一步扩大气象信息的覆盖面,让广大Android 手机用户能够在第一时间获取最新的天气预报信息,以便提前预防,方便出行。同时,把气象灾害造成的损失降到最低,也可以提高公共服务质量,更好的发挥气象事业对经济社会发展的现实性作用,有巨大的实用价值 3。1.2 研究现状和发展趋势气象事业是科技型、基础性社会公益事业。天气、气候和气候变化,与政治、经济、国防和人民生活密切相关,事关国民经济和社会发展的方方面面,事关人民群众的生产生活和切身利益,事关党和政府重大决策的实施 4。在全球气候变暖背景下,世界范围的极端天气气候事件有增多趋势,异常天气现象越来越频繁,气象灾害的破坏性越来越大,引起了国际社会的高度关注 5。气象科技竟争日趋激烈,在应对气候变化和支撑国际谈判中的基础性地位日益提升。按照著名的“德尔菲气象定律”:企业气象投入与产出比为 198,即在气象信息上每投资 1 元,便可以得到 98 元的经济回报 6。在德国,气温超过 22 摄氏度,啤酒开始畅销;气温再每上升 1 摄氏度,大瓶装的啤酒每天会多销 230 万瓶。德国气象公司由此开发了“啤酒指数” 7。此外,类似的还有乘车指数、冰激凌指数、泳装指数、食品霉变指数等,商家可据此提前制订生产营销计划。精明的商家根据天气预报的情况,就能提前确定库存和商品品种。Southwest University of Science and Technology 基于 Android 的天气预报系统设计第 2 页 共 32 页虽然目前我国气象服务的生产活力还未全面显现,气象服务市场的开发还存在一定的问题,但可以肯定的是,随着经济的发展与国民生活质量的提高和气象科技的进一步发展、气象服务领域的进一步拓宽、适应市场经济发展的气象服务体系的健全,气象服务必将进入人们生活的方方面面,气象服务的市场将得到更广阔的发展空间 8。不久的将来,高德地图将告诉你 15 分钟后一公里内的天气状况,以及某条街道 24 小时前刮过很大的西北风 9。当你在暴雨中行驶时,高德地图会提醒你:“前方道路已严重积水,您的车辆驶入可能会被水淹,建议您绕道。”总而言之,气象事业正处于朝阳阶段,以此为依托的各种天气预报软件层出不穷,呈现一片欣欣向荣景象。1.3 数据来源介绍聚合数据平台是国内领先的移动数据服务商,专业从事互联网数据服务,为智能手机开发者、网站站长、移动设备开发人员提供原始数据,是一个 API 服务的综合性云数据平台,其功能类似于 Google APIS10。其免费提供从天气查询、空气质量、地图坐标到金融基金、电商比价、违章查询等各个领域的安全、稳定和高效的数据。开发者可以免费使用聚合数据 API 进行移动 APP 的快速开发,免除数据收集、维护等环节,大大降低开发周期及成本。聚合数据允许开发者免费自由调用 JUHE 平台所开放的有效数据 API 接口,这包含了数千万 LBS 数据,公共交通,金融,日常生活,资讯等多个分类的有效数据。聚合数据提供 HTTP GET/POST、SOAP 等 WEB SERVEICE,支持常用数据格式 XML/JSON,方便开发者调用与开发,同时提供相关数据统计服务。本设计从聚合数据下载天气预报的相关 API,如:(1)根据城市名查询天气接口:/weather/index(2)城市天气三小时预报接口:/weather/forecast3h(3)支持城市列表接口:/weather/citys(4)城市空气质量接口::8080/environment/air/cityair1.4 论文组织结构本论文谈论的是基于 Android 的天气预报系统设计,全文围绕天气预报 app 的设计过程进行。表 1-1 论文组织结构第一章 绪论(目的,意义,现状,趋势,数据来源)第二章 平台及关键技术介绍(概述,对比,基础知识)第三章 开发环境搭建(所需软件,环境配置)第四章 系统分析(功能,流程,UI 界面)第五章 详细设计(创建工程,UI 实现,数据获取及解析,刷新,存在问题)第六章 系统测试(目的,环境,结果)第七章 结论其他 参考文献,谢辞Southwest University of Science and Technology 基于 Android 的天气预报系统设计第 3 页 共 32 页第二章 平台及关键技术介绍2.1 Android 介绍Android 一词的本义指“机器人 ”,同时也是谷歌在 2007 年 11 月发布的基于 Linux 平台的开源操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成 11。Android 实质上是一个完整的手机操作系统,其核心是 Linux(安全管理、内存管理、进程管理、电源管理、硬件驱动) ,它作为应用程序与安卓设备硬件的中间件,为用户提供了相对友好的展现界面 12。同时,Android 也集成了一些关键的应用程序。Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。Android 操作系统最初由 Andy Rubin 开发,主要支持手机。2005 年 8 月由 Google 收购注资。2007 年 11 月,Google 与 84 家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android 系统。随后 Google 以 Apache 开源许可证的授权方式,发布了 Android 的源代码。第一部 Android 智能手机发布于 2008 年 10 月。Android 逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011 年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一。2013 年的第四季度,Android 平台手机的全球市场份额已经达到78.1%。 2013 年 09 月 24 日谷歌开发的操作系统 Android 在迎来了 5 岁生日,全世界采用这款系统的设备数量已经达到 10 亿台。2014 第一季度 Android 平台已占所有移动广告流量来源的 42.8%,首度超越 iOS。但运营收入不及 iOS。截止 2016 年,主流的手机 OS 为:iOS,Android。下图为市场占有比重 13。图 2-1 Android 市场份额Southwest University of Science and Technology 基于 Android 的天气预报系统设计第 4 页 共 32 页2.2 Android 与其他平台的比较根据图 2-1 所示,目前市面上最常用的手机操作系统就是 Android 和 iOS。iOS 是由苹果公司开发的移动操作系统。苹果公司最早于 2007 年 1 月 9 日的Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上 14。iPhone 作为 iOS 的代表作,自然免不了与 Android 的对比。下图是两者开发的对比。表2-1 Android和iPhone的开发比较Android iPhone可以在 PC,MAC 和 Linux 下开发 只能在 MAC 下开发以 Linux 为基础 以 MAC OS 为基础Java Objective C每年 25 美元 每年 99 美元可以通过 Web 下载应用程序 只能在 App Store 下载应用程序支持 flash 不支持 flashGoogle、ARM、高通、三星 Apple2.3 Android 基础知识2.3.1 四大组件(1)Activity1)一个 Activity 通常就是一个单独的屏幕(窗口) 。2)Activity 之间通过 Intent 进行通信。3)Android 应用中每一个 Activity 都必须要在 AndroidManifest.xml 配置文件中声明,否则系统将不识别也不执行该 Activity。做一个完整的 Android 程序,基本上都会用到 Activity,因为 Activity 是 Android 程序与用户交互的窗口。在我看来,从这个层面的视角来看,Android 的 Activity 就像网站的页面。Activity 在四大组件中,无疑是最复杂的。Android 开发中,一旦和界面挂上了勾,都简化不了,想一想,独立做一个应用有多少时间沦落在了界面上,就能琢磨清楚了。从视觉效果来看,一个 Activity 占据当前的窗口,响应所有窗口事件,具备有控件,菜单等界面元素。从内部逻辑来看,Activity 需要为了保持各个界面状态,需要做很多持久化的事情,还需要妥善管理生命周期,和一些转跳逻辑。对于开发者而言,就需要派生一个 Activity的子类,然后实现上述事情。(2)serviceservice 组件主要用于后台处理耗时请求。详情见第五章的第四小节。(3)content provider1) android 平台提供了 Content Provider 使一个应用程序的指定数据集提供给其他应用程序。其他应用可以通过 ContentResolver 类从该内容提供者中获取或存入数据。2)只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中。它的好处是统一数据访问方式。3)ContentProvider 实现数据共享。ContentProvider 用于保存和获取数据,并使其对所有应用程序可见。这是不同应用程序间共享数据的唯一方式,因为 android 没有提供所有应用共同访问的公共存储区。Southwest University of Science and Technology 基于 Android 的天气预报系统设计第 5 页 共 32 页4)开发人员不会直接使用 ContentProvider 类的对象,大多数是通过 ContentResolver对象实现对 ContentProvider 的操作。5)ContentProvider 使用 URI 来唯一标识其数据集,这里的 URI 以 content:/作为前缀,表示该数据由 ContentProvider 来管理。(4)broadcast receiver1)你的应用可以使用它对外部事件进行过滤,只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个 activity 或 service 来响应它们收到的信息,或者用 NotificationManager 来通知用户。通知可以用很多种方式来吸引用户的注意力,例如闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。2)广播接收者的注册有两种方法,分别是程序动态注册和 AndroidManifest 文件中进行静态注册。3)动态注册广播接收器特点是当用来注册的 Activity 关掉后,广播也就失效了。静态注册无需担忧广播接收器是否被关闭,只要设备是开启状态,广播接收器也是打开着的。也就是说哪怕 app 本身未启动,该 app 订阅的广播在触发时也会对它起作用。(5)四大组件总结四大基本组件都需要注册才能使用,每个 Act
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025温州瑞安市事业单位招聘97人-统考笔试参考题库附答案解析
- 2025四川成都市第七人民医院第二批次编外招聘工作人员52人笔试模拟试题及答案解析
- 2025天津生态城环保有限公司一般管理岗人员社会招聘1人笔试参考题库附答案解析
- 2025甘肃陇南市面向协议培养师范毕业生招聘教师100人笔试参考题库附答案解析
- 2025北京中智科技总部附下属企业招聘3人笔试参考题库附答案解析
- 2025年甘肃省定西市通渭县城区学校紧缺专业教师交流选调59人考试参考题库附答案解析
- 2025文山州麻栗坡县六河乡公开选聘储备村级后备干部(18人)笔试模拟试题及答案解析
- 芭蕾舞毕业论文题目
- 法律系中专毕业论文
- 2025浙江金华市正信公证处招聘工作人员笔试模拟试题及答案解析
- T/CSPSTC 106-2022水工建筑物表面位移机器视觉在线监测技术规程
- 2024年中级统计师《统计工作实务》真题及答案解析
- 小学2024-2025学年度第二学期道德与法治课程计划
- 河北省唐山市路北区2025届八年级数学第二学期期末达标检测模拟试题含解析
- 缴纳社保免责协议书
- 平面广告设计基本原则试题及答案
- 《癫痫持续状态》课件
- 患者十大安全目标(2025) 2
- 《钓鱼的艺术教学》课件
- 2025-2030在线语言教育行业发展分析及前景趋势与投资研究报告
- T-CACM 1064-2018 针刀医学临床 通.用要求
评论
0/150
提交评论