您的位置:首页 > 移动开发

天气查询APP/开发日志/Android

2017-05-29 00:12 267 查看
打算开发一个轻量级,具有一定实用价值的天气App。

目标如下:

1. 主界面提供多城市的未来多天天气查询。

2. 多城市的逐小时天气预报。

2. Material Design.

3. 提供另一个快捷入口,使用Toast进行无Activity推送。

4. 若是要变天,采用推送通知。

https://github.com/GrayXu/ToastWeather

8.2更新

整个APP的大体完成了,UI设计可能需要大改一次……直男审美直男审美。

之后会继续写Java爬虫来获得中国天气网逐小时的数据,现有数据太不够。



7.22更新

城市ID的数据库弄成在第一次加载的时候存入SharePreference,毕竟也是键值对的数据结构,2000+组数据写入也很快。

除了WebView以外的离线缓存完成。WebView真的是一个全是坑的控件……

明天开始做服务,定时更新缓存,网络刚启动也更新缓存这样子。

UI重绘了一部分。

WebView通过JS注入,去掉了广告和无用的控件,不过因为是等到界面加载完成后才注入的,速度不是很快,待改进。



7.21更新

增加了来自spinner的刷新。

emmm好像没干什么,今天时间用的不如昨天多,撞得坑蛮多的……

发现第一次加载速度有点慢,用了离线缓存应该会好些吧……

还差搭SQLite,离线缓存,后台服务,一键Toast,UI设计。

7.20更新

推倒重来。



下午晚上基本是在走老路,没遇上什么bug。

第一栏的textview没想好用什么样的方法排个版。

第二栏的recyclerview,间距有点大……

第三栏的webview直接加载网页(待去除广告所在div)。

接着再做了离线缓存功能吧……

5.29

彩云天气还是没有开放api给我,索性在Hourly碎片里加载webview了,地址来自中国天气网,已知传入经纬度即可。(真真不熟悉爬虫)

Tips:

Fragment其实就是一个Activity中一个又一个的碎片,随时可以拼装或展示出来,activity过于重量级,所以不适合。

期间出现了一个问题,刚开启Activity的时候,进行天气信息载入(我另一篇天气API博文里的源码),会出现成功准备好JsonObject但是所有数据都获取不了的问题,想了很久弄不清楚,手动更新天气数据的代码,放在哪里都会出现错误,只好用if抓掉了……最后不手动刷新天气,改成Spinner监听来自动更新,就不会了……

在Fragment的onCreatView方法中,如果直接使用
getActivity().findViewById(int id);
获得的将是null,而应该用传参进来的inflater,inflater.inflate获得的view进行findViewById。因为控件还没有载入,获得不了在R里面注册的控件。监听器里面的就没有问题,因为肯定是加载布局后回调的嘛。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: