`
jammk
  • 浏览: 44166 次
文章分类
社区版块
存档分类
最新评论

使用聚合数据的接口进行的RxAndroid学习

阅读更多

Demo数据源是聚合数据的免费Api,地址:https://www.juhe.cn/

配合Retrofit 完成数据请求

例子比较简单,没事使用什么复杂的操作符。

就是简单的网络数据获取。

一些常用的操作符大家可以参考官方的文档说明:

ReactiveX/RxJava文档中文版

关于RxJava入门,我也是新手,不敢妄言,给大家分享分享网上流传的大神博客:

扔物线大大的:

给 Android 开发者的 RxJava 详解

hi大头鬼hi:

深入浅出RxJava(一:基础篇)

深入浅出RxJava ( 二:操作符 )

深入浅出RxJava ( 三--响应式的好处 )

深入浅出RxJava ( 四-在Android中使用响应式编程 )

首先在项目中引入RxJava 、RxAndroid依赖:

compile 'io.reactivex:rxjava:1.0.14'
compile 'io.reactivex:rxandroid:1.1.0'

 生命周期:

compile 'com.trello:rxlifecycle:0.4.0'
compile 'com.trello:rxlifecycle-components:0.4.0'

 引入Retrofit依赖

compile 'com.squareup.retrofit2:retrofit:2.0.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0'

 接下来就可以写代码了。

先看下运行截图:

Api可以去聚合数据官网申请。

这都是ListView的基本展示,所以程序步骤很简单:

一、先根据json数据,写出实体类。(用Gson插件迅速生成)

二、根据要显示的数据创建布局。

三、编写Adapter。

四、然后从网络请求并返回数据。

五、根据数据创建Adapter并绑定到listview进行显示。

这几个都是GET请求,所以写法都一样:

创建接口:

public interface WeatherApi {

    @GET("/onebox/weather/query?")
    Observable<Weather> getWeatherInfo(@Query("cityname") String phone,
                                       @Query("key") String key);
}

 创建Retrofit:

public static WeatherApi getWeatherApi() {
    if (weatherApi == null) {
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://op.juhe.cn")
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        weatherApi = retrofit.create(WeatherApi.class);
    }
    return weatherApi;
}

 在Activity中订阅触发代码:

RxView.clicks(btn_check).throttleFirst(3, TimeUnit.SECONDS)
        .subscribe(new Action1<Void>() {
            @Override
            public void call(Void aVoid) {
                NetWork.getWeatherApi()
                        .getWeatherInfo(et_city_name.getText().toString(), API_KEY)
                        .subscribeOn(Schedulers.newThread())
                        .observeOn(AndroidSchedulers.mainThread())
                        .subscribe(new Action1<Weather>() {
                            @Override
                            public void call(Weather weather) {
                                setDispaly(weather);
                            }
                        });
            }
        });

 天气的API在代码中,可以直接使用。由于是免费接口,大家都可以申请,不过聚合数据要验证身份证。

例子可以在git上下载参考。

https://github.com/VongVia1209/RxAndroid_Demo_With_jvhe

 

文章来源:转载http://blog.csdn.net/castledrv/article/details/51333736

 

 

 

 

 

分享到:
评论

相关推荐

    招商银行商户聚合支付接口.zip

    在这个压缩包中,我们可以找到与招商银行聚合支付接口相关的文件,这些文件通常包括API文档、示例代码、配置文件等,用于指导开发者进行集成开发。 1. **聚合支付**:聚合支付是一种支付方式,它将多种支付渠道(如...

    微信小程序学习demo:笑话大全;使用聚合数据API

    在小程序中,开发者通常会使用网络请求模块(wx.request)来与服务器进行交互,发送GET请求到聚合数据API的特定URL,获取笑话数据,这些数据通常以JSON格式返回,包含笑话的标题、内容等字段。 在实际开发过程中,...

    聚合数据 Android 项目开发实战:

    通过学习这些文件,开发者可以更好地理解如何在自己的Android应用中集成聚合数据的短信验证码服务。 总的来说,实现短信验证码功能需要理解网络请求、API调用以及错误处理等基本概念,同时也需要关注用户体验,比如...

    中国银行-总对总平台-聚合码接口规范V1.0.11.docx

    中国银行总对总平台聚合码接口规范 V1.0.11 本文档为中国银行总对总平台聚合码接口规范的详细说明,旨在规范中国银行总对总平台聚合码接口的开发和实施。该规范涵盖了聚合码接口的协议、报文格式、交易流程、错误码...

    使用聚合数据接口制作的一款集成了搞笑图片,笑话大全,微信精选,天气等功能的在线App.zip

    使用聚合数据接口制作的一款集成了搞笑图片,笑话大全,微信精选,天气等功能的在线App

    arcgis for js 加载聚合数据

    4. **查询与过滤**:通过`FeatureLayer.queryFeatures()`方法,我们可以对聚合数据进行查询和过滤,根据实际需求只显示特定条件的数据。 5. **动态聚合**:如果数据量非常大,可以使用聚合函数(如`esri/tasks/...

    Discuz3.5论坛多合一聚合支付接口插件 支持支付宝、微信、QQ 钱包官方支付 彩虹.zip

    Discuz论坛多合一聚合支付接口Discuz插件,该插件直接替换了自带的支付接口功能,增强了支付的扩展性,自带支持支付宝、微信、QQ 钱包官方支付,以及彩虹易支付、我爱支付、虎皮椒等支付通道,并且可以自由扩展其他...

    收钱吧聚合支付接口演示(Delphi源码).rar

    3. **源码演示**:项目提供了源码,意味着开发者可以深入研究其工作原理,了解如何使用Delphi调用聚合支付接口,这对于学习Delphi编程以及支付接口开发非常有帮助。通常,这包括请求的构造、参数的加密、回调处理等...

    微信小程序实现聚合数据的老黄历接口

    微信小程序实现聚合数据的老黄历接口,老黄历接口是用来查询当天的吉凶状况的。页面输入正确的日期格式,点击查询按钮,查询按钮下方会出现查询日期的具体信息。具体返回信息请查看聚合数据的老黄历接口的API文档。 ...

    基于聚合数据API的新闻app

    【基于聚合数据API的新闻app】是一个利用API接口获取新闻数据并进行展示的移动应用程序,主要针对Android平台设计。在这款应用中,开发者利用了聚合数据API提供的服务,该服务通常会提供各种实时更新的新闻资讯,...

    java对接聚富通H5聚合支付接口,跳转到收银台

    java对接聚富通H5聚合支付接口,跳转到收银台

    微信小程序天气预报+聚合数据

    (1)根据天气预报接口,获取网络数据 (2)展示选择城市的天气情况,温度,风向,各种数据以及未来基本天气情况 (3)将网络获取的城市天气信息保存到数据库中,便于无网络进行数据请求 (4)对数据库中的城市天气...

    android获取聚合数据笑话

    首先,聚合数据(JuHeData)是一个提供各类API接口的服务平台,开发者可以申请API Key来调用其提供的数据,例如笑话、天气、新闻等。在这个项目中,你需要先在聚合数据官网申请一个笑话API的Key,然后将其插入到代码...

    聚合支付接口文档v2.0(1)-新(1)1

    综上所述,聚合支付接口文档V2.0涉及了支付接口的使用方法、数据格式化、签名生成与验证、统一接口调用以及版本更新等关键知识点,这些都是确保在线支付过程顺利进行的基础。在实际开发中,开发者需要对这些知识点有...

    聚合图床纯PHP源码 多接口

    【标题】"聚合图床纯PHP源码 多接口"所涉及的知识点主要集中在PHP编程语言和图床服务的实现上。图床服务是用于存储和管理图片的平台,通常被论坛、博客或其他需要大量上传图片的网站所使用。这个源码提供了一个纯PHP...

    收钱吧聚合支付接口演示(Delphi版).rar

    收钱吧聚合支付 支持微信、支付宝、花呗、云闪付、信用卡等收款 收钱吧统一手续费率为0.38%,而微信和支付宝官方商用接口为手续费率为0.6% 收钱吧APP有实时交易记录及语音提示,次日0点后会自动申请打款到绑定银行...

    聚合数据狗蛋实验室

    对于机器学习任务,可能会使用到Scikit-learn、TensorFlow或PyTorch等框架,进行数据建模和预测,比如预测用户评分、商家热门程度等。 最后,为了将这些分析结果呈现给用户,后端开发者可能会采用Node.js、Express....

    网络游戏-使用空间聚合数据来进行蜂窝网络异常检测的系统和方法.zip

    总结来说,使用空间聚合数据进行蜂窝网络异常检测是一种高效的方法,它能够帮助网络游戏运营者及时发现并解决网络问题,提升玩家的游戏体验。通过综合运用数据收集、处理和异常识别技术,可以构建一个智能、动态的...

    违章查询完成工程---聚合数据

    综上所述,该工程是一个完整的Android应用示例,展示了如何使用现代Android开发技术实现一个实用的功能,对于学习和理解MVP架构、Retrofit网络请求、RxJava响应式编程以及第三方API集成具有很高的参考价值。...

Global site tag (gtag.js) - Google Analytics