本篇文章主要介绍以下几个知识点:
- 实现一个简单的天气应用
- 仿小米天气界面效果
本篇文章主要来实现一个天气应用 —— 必应天气。具备以下功能:
- 定位城市,查看城市天气信息
- 播报语音天气
- 切换城市
- 后台自动更新天气
效果如下:
天气 api 接口来自和风天气,数据相对简单,返回的数据有限(只返回3条未来几天天气预报和每小时预报的数据):
http://docs.heweather.com/224489
它提供了天气预报集合接口、城市查询等接口。
全国省市县数据 api 接口来自郭神提供的:
http://guolin.tech/api/china
必应图片 api 接口也是来自郭神提供的:
http://guolin.tech/api/bing_pic
本项目结构比较简单,如下:
用到的第三方开源库有:
compile 'com.android.support:design:25.1.1'
compile 'com.jakewharton:butterknife:8.5.1'
compile 'org.litepal.android:core:1.4.1'
compile 'com.squareup.okhttp3:okhttp:3.5.0'
compile 'com.google.code.gson:gson:2.8.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.yalantis:contextmenu:1.0.7'
compile 'com.liaoinstan.springview:library:1.2.7' // 下拉刷新
compile 'com.github.lecho:hellocharts-android:v1.5.8'
界面设计参照小米天气,Material Design 风格;代码开发基于郭神在文章中涉及到的代码,定位采用百度定位(模拟器上貌似定位不了),语音合成采用科大讯飞的。
总的来说,项目完成了天气信息展示、切换城市、下拉刷新等一些基本功能,还有很多功能不完善,整体界面也不够美观,仅供练习用。
app传送门:
必应天气 app 下载