第三方框架RxJava和Retrofit结合及实例

 * 演示RxJava的介绍以及基本使用
 *
 * 1.RxJava是什么?
 *    RxJava本质就是一个实现异步操作的库  异步
 *
 * 2.RxJava优点  简洁(随着程序的逻辑变得复杂 可以将复杂的逻辑代码串成一条线)
 *
 * 3.原理 RxJava异步实现 拓展的观察者模式
 *
 *  观察者模式:A对象(观察者)对B(被观察者)对象的某种变化比较敏感  需要在B对象变化的瞬间
 *  作出反应 程序中的观察者模式 采用注册或者订阅方式 告诉被观察者当他变化是通知观察者
 *
 *  android应用中的观察者案例 view视图绑定单击事件
 *  view被观察者---onClickListener单击事件的监听器 观察者
 *    注册/订阅 setOnClickListener()
 *  当单击view视图时 通知onClickListener单击事件的监听器观察者对象作出响应(回调onClick方法)
 *
 * RxJava中观察者模式
 * RxJava中四个基本概念 Observable(被观察者) Observer(观察者)
 *  Subscribe(订阅/注册)
 *  Observable(被观察者) Observer(观察者)通过Subscriber()方法实现订阅关系

 *  Observable需要时发出事件通知Observer

*4实现步骤:

导包:

compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'

compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'

compile 'com.squareup.retrofit2:converter-scalars:2.0.0-beta4'
compile 'io.reactivex:rxjava:1.1.10'
compile 'io.reactivex:rxandroid:1.2.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
新建一个java,存放网址:
//示例:这里注意,这个网址是你所要解析的网址的一段,长度随便,但必须是以 /结尾

public final static String Ten_URL="http://www.syby8.com/apptools/";
  
   新建一个接口,接口名自定义:
实例:@GET注解后面写上你网址后半部分
@GET("apptools/indexad.aspx?v=34")
Observable<T> getJsonString();

在你需要解析的类中写下列程序

解析以及异步加载

Retrofit retrofit = new Retrofit.Builder()
	//加载网站
        .baseUrl(你写的网址类里的网址)
         .addConverterFactory(GsonConverterFactory.create
	//GSON解析
        .addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build();接口类 接口类对象 = retrofit.create(接口类.class);
Observable<T> observable = 接口对象.getJsonTen1String();
observable.subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
	.subscribe(new Action1<T>() {
    @Override
    public void call(T t) {
        //这里的t就是解析出来的数据。T可以是任意类型,T是什么类型,解析出的数据t就是什么类型
    }
});



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值