基础功能
- 自动定位当前位置,并且显示实时天气,8 项生活指数,以及未来 3 天的天气预报;
- 通过搜索城市名称,显示对应的天气状况;
开发辅助
-
数据来源
和风天气提供的免费天气 API 接口,其中我使用了常规天气数据集合 。
-
城市搜索
和风天气提供的城市查询 API,同时我设定了 仅查询中国城市。
-
定位功能
百度地图提供的 sdk,其中我使用了基础地位和基础地图
获取 JSON 数据
解析 JSON 数据
Icon
遇到的问题
1、判断网络连接是否可用。文章也适用于获取当前网络的连接类型。
2、SearchView 的使用。文章有一个搜索本地文件的例子。
3、Only the original thread that created a view hierarchy can touch its views.,当时忘记在 UI 线程更新。文章总结了 4 种异步更新 UI 的方法。
4、RecyclerView 有多个 Item,但只显示第一个。
5、在城市搜索界面,每次显示新搜索到的城市时,都需要先删除上一次的搜索内容。在显示 Item 时,需要先清空 adapter 数据,可以把 adapter 的 list 清空 clear()。
6、 activity 跳转到新的 activity 时,清空 activity 栈。