{
    分享网正式开通,我们为大家提供免费资源,欢迎大家踊跃投稿!

Android开源天气信息查询软件小马天气源码下载

部分设计参考xcc3641的开源项目SeeWeather,在此表示感谢!
第一次开始这个项目是2014年4月份,我还在大二的时候,当时有一个程序设计实践课,想着简单点就选了天气预报这个题目,时隔两年又重新拾起,给它脱胎换骨,就是想拿他作为一个学习新知识的实战项目,期间也做过改动,比如曾经把网络请求模块从android-async-http改为Volley。

注意:隐私相关的key我没有提交,clone后需要自行申请和风天气bmob的key才能运行,其他key可直接忽略。

  • 开源不易,希望能给个Star鼓励
  • 项目地址:https://github.com/ChanWong21/PonyWeather
  • 有问题请提Issues

简介

小马天气是一款开源Android天气信息查询软件。

  • 实景天气,寻找你身边的美景
  • 多城市天气预报,记得提醒远方的TA
  • 语音播报,一键听天气
  • Material Design 设计风格,从未如此简约
  • 自动夜间模式,更加贴心

更新说明

v 2.1

  • 新增搜索城市
  • 新增设置自动更新时间间隔

v 2.0

  • 新增实景天气
  • 新增城市管理
  • 新增语音播报
  • 支持自动夜间模式

v 1.5

  • 重构代码,全新风格设计
  • 增加支持国内全部县级以上城市可选

v 1.4

  • 支持Android 6.0

下载地址

fir.im:http://fir.im/ponyweather
应用宝:http://android.myapp.com/myapp/detail.htm?apkName=me.wcy.weather

TODO

  • 实景天气
  • 城市管理
  • 语音播报
  • 自动夜间模式
  • 桌面小部件

项目

公开API

  • 天气数据:和风天气
  • 定位服务:高德定位
  • 语音合成:百度语音
  • 云存储:Bmob后端云

开源技术

  • Rxjava
  • Retrofit
  • ASimpleCache
  • Android-Universal-Image-Loader
  • android-floating-action-button

关键代码

网络请求RxJava+Retrofit

private void fetchDataFromNetWork(final CityEntity city) {
    Api.getIApi().getWeather(city.name, ApiKey.HE_KEY)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .filter(new Func1<WeatherData, Boolean>() {
                @Override
                public Boolean call(final WeatherData weatherData) {
                    boolean success = weatherData.weathers.get(0).status.equals("ok");
                    return success;
                }
            })
            .map(new Func1<WeatherData, Weather>() {
                @Override
                public Weather call(WeatherData weatherData) {
                    return weatherData.weathers.get(0);
                }
            })
            .doOnNext(new Action1<Weather>() {
                @Override
                public void call(Weather weather) {
                    mACache.put(city.name, weather);
                    SystemUtils.saveRefreshTime(WeatherActivity.this);
                }
            })
            .subscribe(new Subscriber<Weather>() {
                ...
                updateView(weather);
                ...
            });
}

截图

   


资源均来自第三方,谨慎下载,前往第三方网站下载


米微资源分享网 , 版权所有丨本站资源仅限于学习研究,严禁从事商业或者非法活动!丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Android开源天气信息查询软件小马天气源码下载
喜欢 ()分享 (0)