第一行代码读书笔记 14 -- 开发一个简单的天气软件

本篇文章主要介绍以下几个知识点:

  • 实现一个简单的天气应用
  • 仿小米天气界面效果
图片来源于网络

本篇文章主要来实现一个天气应用 —— 必应天气。具备以下功能:

  • 定位城市,查看城市天气信息
  • 播报语音天气
  • 切换城市
  • 后台自动更新天气

效果如下:


必应天气效果

天气 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 下载

源码传送门:
  https://github.com/KXwonderful/BingWeather

推荐阅读更多精彩内容