基于Android系统开发天气预报APP的实现

来源 :人间 | 被引量 : 0次 | 上传用户:tsy99
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着智能手机的迅速普及,人们在生活中获取信息的一个主要来源就是智能手机应用。本项目主要是对天气查询管理的设计与实现,此项目采用了Android 开源系统技术,它主要是通过文字与图片的形式,来比较直观地显示出城市当天和未来几天的天气信息,在数据交换上使用了JSON格式,降低了流量使用量并且提升了速度,方便人们的生活,有一定的实用性。
  关键词:Android;天气预报;软件开发;APP
  中图分类号:G31 文献标识码:A 文章编号:1671-864X(2016)06-0292-01
  一、引言
  目前,利用手机app 获取天气预报信息正在成为主流的天气信息获取方式。所以越来越多的开发人员致力于开发简单、美观且实用的手机天气预报app[1]。
  JSON是一种轻量级的数据交换格式。JSON 数据格式比较简单,易于读写,占用带宽小,服务器端和客户端的解析较为方便,大大简化了服务器端和客户端的代码开发量, 使得系统易于维护[2-4]。
  该应用程序设计目的是实现基于Android系统开发天气预报APP,实现将各种天气查询服务功能集成起来的信息系统,既可以节省时间,又可以实现个性化的服务,帮助用户可以随时随地查询天气信息及天气变化情况,让生活更加舒适和方便。
  二、天气预报系统主要功能模块介绍
  1.启动程序后可以通过自动定位或手动定位城市,或者根据上一次选择的城市来进行城市天气信息的查询;2.天气信息通过Service从聚合数据网进行获取相关的JSON数据得到,还可以按一定的时间间隔来自动刷新获取最新的天气信息;3.切换城市可以进入城市选择界面快捷选择相关的城市或者搜索城市;4.应用可以后台按一定时间间隔来自动刷新天气信息;5.使用AppWidget实现在手机桌面上显示指定城市的当前天气信息;6.使用Notification实现天气预警通知;7.可以对城市进行本地管理,可以手动添加常用的城市名称,或者删除它;8.可以将当前城市的天气信息以界面图片的形式进行分享。
  三、天气预报系统主要功能模块的设计与实现
  基于Android系统的天气预报系统的主要是从网络获取JSON数据并通过JSON解析信息文本获取城市名称,以及城市的天气信息并显示在界面上,并对关注的城市进行管理。
  (一)用户界面UI的实现。用户界面上的设计主要分为两大块:
  首先是主界面,主界面用来显示城市名以及该城市的天气信息,分为当前城市名及天气信息区域,还有定位当前城市模块、分享当前界面模块以及使用Android 5.0之后自带的SwipeRefreshLayout(下拉刷新)模块和DrawerLayout侧滑模块。
  然后是城市列表界面,城市列表界面主要分为热门城市模块、城市列表模块、以及输入名字查询城市模块。
  (二)定位当前位置所在的城市。根据我们这个应用程序的需求在这里我们选择network进行定位,因为我们只需要定位当前所在的城市即可。network定位快,只要数据连接成功,一般都可以成功定位,所以此刻使用network进行定位是最好的选择。
  (三)在UI上显示当前城市的天气信息。当我们获取到城市名称后,就可以直接利用聚合数据SDK提供的API方法通过service进行网络访问来获取JSON格式的天气信息数据,对获取的数据进行JSON解析并在主界面显示相关的天气信息。
  (四)在获取城市列表数据及解析。有热门城市模块和城市列表模块。热门城市是xml文件中已经写好的。但城市列表模块是通过网络请求得到支持查询的城市列表JSON数据并对其进行JSON解析,将所有城市名称返回到List中,最后对GridView添加适配器显示城市列表。也可以手动输入城市名称或者城市名称所包含的字符进行城市搜索。
  (五)天气界面的分享。在主界面可以以图片的形式将当前城市的天气信息进行分享。这里使用的是一个第三方集成的ShareSDK,使用它极大的增加了我们开发的效率。注意,使用ShareSDK需要在官网上申请一个开发者使用的APPKey,并且要按照官网给的使用文档进行一些相关的配置才可以正确使用。
  (六)桌面小工具AppWidget。AppWidget是一个可以在手机桌面上显示的小工具界面。实现使用AppWidget在手机桌面上显示相关的天气信息的步骤如下:
  1.配置AppWidget的属性。
  2.创建AppWidget的xml布局文件。
  3.实现AppWidgetProvider。
  4.处理AppWidget的后台任务。在AndroidManifest文件中注册AppWidget与相关的服务。
  (七)天气的预警通知。实现发送天气通知的步骤是这样的,首先要使用getSystemService()这个方法可以获取系统的NotificationManager服务;其次创建一个Notification对象,设置其相关的属性,并为它设置事件信息;最后再通过NotificationManager类的norify()方法来发送相应的通知即可完成。
  四、总结
  Android由于其开放性与市场占有率,受到开发者的十分喜欢。本系统综合现在有的天气预报APP的优缺点,将一些资源文件内置于应用之中,并且在数据交换上采用JSON格式进行数据的交换,减少了流量的使用,提高了响应速度。在分享功能上使用当前很受欢迎的ShareSDK极大地减少了代码量,优化了应用程序的处理速度。
  本文提供的基于Android系统开发天气预报APP方案具有高效,实用性,并已在多台真机上进行调试和运行,为读者在 Android平台下作应用程序开发提供一种参考。
  参考文献:
  [1]熊传玉,徐尤华. Android系统下基于JSON的天气预报应用的实现[J].微型电脑应用,2016,01.
  [2]雷映喜.XML与JSON在WEB中对数据封装解析的对 比[J].价值工程,2013,9:210.
  [3]龚成莹.基于 JSON 的 Android 移动终端与 PHP 及 MySQL 数据通信[J].工业仪表与自动化装置,2013,1: 63.
  [4]权重民.利用 JSON 实现 Android 高效、安全访问远程 数据库的一种方式[J].韶关学院学报.2011,12:16.同.
其他文献
近年来,随着社会经济水平的提高,民办博物馆应运而生.不幸的是,民营博物馆的发展现今还处于一个迷茫阶段,许多民办博物馆在经济形势萎靡和国有博物馆免费化的冲击下纷纷倒闭,
笔者首先详细说明了现阶段我国机关事业单位针对养老保险制度所开展改革工作的基本状况,然后又分析了在对机关事业单位养老保险制度进行改革时所面临的制约因素,最后通过理论
我们是要迎来经济的强劲增长,还是面临衰退?我无法回答。但谨慎一些总不是坏事,尤其是对那些负债累累且工作不稳定的人们。下面几条建议也许有助于打理你的财务状况,以防前途
语文一直都是我们学习过程中必不可少的一部分,而在小学语文教学过程中,阅读就成了至关重要的环节.阅读是最普遍的语文学习方法之一,在小学语文的学习过程中占有极为重要的地
老北京四合院的房顶铺的都是鱼鳞瓦,灰色。一片灰色的瓦,緊挨着一片灰色的瓦,连接成一片浩瀚的灰色,铺铺展展,犹如云雾天里翻涌的海浪一样,一波又一波,直涌到天边。  这种由鱼鳞瓦组成的灰色,和故宫里那一片碧瓦琉璃,做着色彩鲜明的对比。虽不如碧瓦琉璃那般炫目、那般高高在上,但满城沉沉的灰色,低矮着,沉默着,无语沧桑,力量沉稳,秤砣一般压住了北京城,铁锚一样将整座城市稳定在蓝天白云之下。难怪贝聿铭先生那时
期刊
中小学体育教学中田径课程是其重要的组成部分,这对于学生的身体素质及综合能力的培养功效显著,但是从现状分析,中小学田径训练教学处于发展的尴尬期,并且教育改革并未取得明显的
阐述明清时期的市民阶层与商业的变化,同时说明中国封建社会早熟而不成熟的特点,总结封建残余乡绅势力对资本主义萌芽早夭的影响.
摘要:本文根据实际调查资料分析癸能大寨村土掌房的现状以及村民的需求,依据现有发展政策,查阅文献典籍,探析传统民居保护性规划原则,并针对大寨村民居作整体内容规划、因地制宜的提出实质性的规划策略  关键词:土掌房;规划原则;规划策略  中图分类号:TU984 文献标识码:A 文章编号:1671-864X(2016)06-0290-02  一、大寨村民居概括  墨江县癸能大寨村是位于联珠镇镇区范围内哈尼
当我面对池塘,凝视它的时候,我就感到幸福和快乐。在这小小的世界里,不知道有多少忙碌的小生命。  不知道吧,在充满泥泞的池边,随处可见一堆堆黑色的蝌蚪在池水中嬉戏;还有红肚皮的蝾螈摇摆着它那舵一样的尾巴,在水中缓缓前行;在芦苇丛中,还可以发现石蚕的小宝宝们躲在它们自制的小房子里酣睡。  在池塘的深处,水甲虫在活泼地跳跃着,它的翅膀尖端有一个气泡,这个气泡,可以帮助它呼吸;它的胸下有一片胸翼,在阳光下
期刊
中国古代法制是随着人类文明进步相伴的,是一个完善更新有所损益的过程,并且很好地体现了这一过程中不断进益的新的人类文明特征,由于中国古代类法制文化存在根本缺陷及其他