I天气
爱天气界面借鉴于就看天气,在此感谢开源项目就看天气。该应用为开源应用,禁止用于任何商业用途。
感谢您的使用,这是一个简洁的天气工具,希望带给您便捷,生活本就复杂,为何不能保持一颗简洁的心。
给本就繁琐的生活带来一缕阳光。人总需要一点梦想,即使一时的不顺也千万不要放弃。作为一个程序员,
我总会遇到各种各样的问题,有时候觉得真的困难,可那又怎么样,生活还得继续,而我不会放弃。希望您能喜欢。
由于结构复杂,取消了就看天气中使用到的Rxjava响应式编程。
部分功能实现讲解
天气信息的存储使用sharedpreference来实现,如果加载天气信息的时间为当天则直接调用存储。
选择城市的实现是通过SQLiteDatabase来实现读取数据库,查找城市和省份来实现的。
对于多城市管理和主页面天气图标都需要自己做判断来实现根据天气不同来更换图标和背景。
主页背景会根据白天或夜晚来自动更换,实现方法为打开程序是判断系统时间来手动设置背景。
图片展示










使用的开源框架
Rtrofit网络框架+Okhttp实现一个建造者模式的网络请求框架
BRVAH:BaseReceyclerViewAdapterHelper实现多城市管理以及主页面的界面显示
在此介绍一下Rtrofit网络框架的优点:
1、可以配置不同HTTP client来实现网络请求,如okhttp、httpclient等
2、请求的方法参数注解都可以定制
3、支持同步、异步和RxJava
4、超级解耦
5、可以配置不同的反序列化工具来解析数据,如json、xml等
6、使用非常方便灵活
7、框架使用了很多设计模式(感兴趣的可以看看源码学习学习)
数据来源
天气数据来源于和风天气
感谢
如果你喜欢这个小程序请在github上留下你的star,如果程序有什么问题也可以在github上进行反馈。谢谢
网友评论