RxJava + Retrofit

来源:互联网 发布:白俄罗斯交友软件 编辑:程序博客网 时间:2024/06/05 08:24

首先是依赖

compile 'io.reactivex:rxjava:x.y.z'compile 'io.reactivex:rxandroid:1.0.1'compile 'com.squareup.retrofit2:retrofit:2.0.2'compile 'com.squareup.retrofit2:converter-gson:2.0.2'compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
感觉不是一般的多啊

具体用法

1.创建一个类来放网址

public class Api {    public static String path = "http://huixinguiyu.cn/";}-------------------------------------------------------------------------------------------------------------------------------
2.传建一个 interface
public interface MyService { @GET("Assets/js/data.js") Observable<Mybean> getService();}
------------------------------------------------------------------------------------------------------------------------------------
这就是一个简单的拼接

3.
  Retrofit retrofit = new Retrofit.Builder()            .addConverterFactory(GsonConverterFactory.create())            .addCallAdapterFactory(RxJavaCallAdapterFactory.create())//新的配置            .baseUrl(Api.path)            .build();    MyService myService = retrofit.create(MyService.class);    myService.getService()            .subscribeOn(Schedulers.newThread())            .observeOn(Schedulers.io())            .doOnNext(new Action1<Mybean>() {                @Override                public void call(Mybean mybean) {                }            })        .observeOn(AndroidSchedulers.mainThread())//最后在主线程中执行    .subscribe(new Subscriber<Mybean>() {        @Override        public void onCompleted() {        }        @Override        public void onError(Throwable e) {        }        @Override        public void onNext(Mybean mybean) {            //请求成功            Mybean mybean1 = mybean;            List<Mybean.ApkBean> apk = mybean1.getApk();            String name = apk.get(1).getName();            Log.d("123",name);//测试的数据        }    });}

原创粉丝点击