基于AndroidStudio环境开发的天气app
-系统总体介绍:本天气app使用AndroidStudio这个IDE工具在Windows10系统下进行开发。主要实现了:1、定位城市天气显示;2、城市编辑功能(增、删、改、查)以及对应天气显示信息的改变;3、天气信息的Widget窗口显示(城市的编辑功能可以远程的更新Widget窗口信息的显示)4、下拉刷新、天气显示界面左右滑动、城市拖拽等小模块。
源码下载
不想用积分下载的留言就就好http://download.csdn.net/detail/for_my_future/9865252
因为看到有很多人有需要,我又没有空一一回复,就在这里分享百度云盘的链接了:
前段时间一直工作很忙,没有注意到网盘链接居然过期了,看到下面很多人留言需要,现在重新分享一下,如果你觉得物有所值,麻烦帮我点个赞,谢谢:
链接:https://pan.baidu.com/s/1J4zEYfYXq5svAA-rZr7hfw 密码:nzfr
目录
一、 开发需求分析
- 1、开发环境搭建
- 2、城市信息获取的api
- 3、天气信息获取的api
4、定位信息获取的api
1、开发环境搭建
强烈建议使用AndroidStudio做为开发工具,eclipse加上Android SDK进行关联,在eclipse里面再安装 Android Development Tools(ADT)虽然能够进行Android开发,但是环境配置麻烦且效率更低。AndroidStudio现在已经基本成熟稳定,而且AndroidStudio附带Sdk,jdk安装很方便,使用体验很好。
安装步骤:
(1)下载。建议在官网下载,因为国内很多映射文件多少都是有点年代的,还是下载最新的比较好,也免去更新的麻烦。不过国内由于网络限制,上Android官网需要FQ,这里推荐一个加速器:雷鸟加速器。这个加速器做得挺不错的,速度很快,而且支持多平台。AndroidStudio下载地址:https://developer.android.google.cn/studio/index.html里面是最新版本的AndroidStudio。
(2)安装,下载完成之后没有特别要求的话默认选择一直next就好了,一般的话只需要改下安装路径,避免C盘空间不够。因为AndroidStudio自带了JDK和Android SDK,所以Android完成后就可以直接进行开发了。2、城市信息获取的api
城市信息这里我直接使用的是Android前辈搭建的一个服务器获取的,数据链接是http://guolin.tech/api/china,访问返回的是JSON数据类型的省份信息(JSON数据类型的解析后面会再详细说明),需要返回城市时只需要在本链接后加上“/对应省份id”即可获取到相应的城市信息,县市信息也是一样的,原链接加上“/对应省份id/对应城市id”即可。
这里其实也可以从其它天气服务商提供的api接口获取城市信息。3、天气信息获取的api
天气信息的获取我使用的是和风天气提供的免费的api,和风天气每天有提供4000次免费的基础天气查询,用来做开发测试是足够用的了。而且和风天气api接口返回的JSON数据类型也比较简单,作为Android初学者做项目是比较好的。想使用该接口只需要简单注册一个账号就可以了(对返回数据的处理我后面再详细说明)。老手的话可以在网上搜索别的服务商提供的免费接口,现在网上的免费接口少了很多,不过有还是有的。4、定位信息获取的api
我这里使用的是百度提供的免费api接口http://lbsyun.baidu.com/apiconsole/key,因为Android原生定位API在国产手机中一般被阉割了,或者国内网络限制的原因,使用Android原生定位API一般是很难获取到定位信息的,跟手机厂商和网络环境都有关系。所以这边为了避免这种情况的不确定因素,我选择了使用百度提供的免费地位接口,在国内,百度和高德定位服务做得都还是不错的。使用百度定位api接口同样需要注册一个百度开发者账号,因为这不是本篇文章的重点。这边具体的操作就不再说明了。
二、 系统设计分析
- 1、天气信息界面显示设计
- 2、已选择城市信息界面显示设计
- 3、添加城市信息界面显示设计
- 4、Widget设计
- 5、界面转换设计
6、系统总体和局部流程设计(流程图)
1、天气信息界面显示设计
首先先上效果图:
接下来我介绍一下天气显示信息中用到的一些设计:
首先是功能实现上的:
1)首先背景图片是每天会更新的,是从必应网上获取到的背景图片。
2)下拉刷新功能。
3)天气显示信息左右活动切换已选择要显示的城市。
4)通过点击右上角的编辑按钮进入城市管理功能。
5)导航组件功能。
6)小时天气小时超出屏幕宽度时的当前页面左右滑动。
其次是具体显示上的(分为一个城市的天气信息一个页面,每个页面又有七个模块)我们从上往下分析:
1)最上部分是城市名的显示和编辑按钮。
2)然后是导航原点显示。
3)其次是当前温度,当天天气和当天最低最高温的显示。(1)(2)部分都是用户比较关心的问题,所以我们放在最前面。
4)接下来是将来的小时预告,由于和风天气返回的数据只有当天每三小时的天气预告,所以这边的显示实现得比较差,不过我这里做的是兼容可以扩展的,不管数据多少都可以显示。如果将来需要更改数据源,这里的操作将非常简单 。
5)接着显示的是接下来几天的天气的大体介绍,这里显示的数据同样受限于获取到的数据。
6)再接着是一些生活指数的显示,由于我艺术细胞不太好,所以这里的图片显示有点丑。。你们可以根据自己的喜好去更改图片。
7)最后就是一些生活建议的显示了。
- 2、已选择城市信息界面显示设计
先上图吧
这里主要是有点击编辑前后的区别
下面我们来一一说明:
点击编辑前
布局主要分成三个部分:
1、最上方的:
*左侧返回按钮,回到天气显示界面
*中间固定的“城市管理”四个字
*右侧的编辑按钮,点击之后就可以对城市进行增、删、和更改位置了
2、中间部分:
*中间部分是已选择城市信息的显示
3、最下方部分:
*最下面是一个添加城市的按钮,点击之后进入城市添加功能
点击编辑后
1、最上方的:
*左侧取消按钮,即放弃本次编辑后的结果,回到非编辑界面
*中间固定的“城市管理”四个字
*右侧的保存按钮,即保存本次编辑的结果并回到非编辑界面
2、中间部分:
*中间部分是已选择城市信息的显示,与编辑前不同的是增加了左侧拖动改变顺序的按钮和右侧的删除城