美文网首页
Retrofit+RxAndroid 快速使用

Retrofit+RxAndroid 快速使用

作者: bill_jean | 来源:发表于2017-12-20 16:57 被阅读0次

    1.导包

    compile'io.reactivex:rxjava:1.0.14'

    compile'io.reactivex:rxandroid:1.0.1'

    compile'com.squareup.retrofit:adapter-rxjava:2.0.0-beta2'

    compile'com.squareup.retrofit:retrofit:2.0.0-beta2'

    compile'com.squareup.retrofit:converter-gson:2.0.0-beta2'

    2.创建ApiService

    url式例

    http://gc.ditu.aliyun.com/geocoding?a=湖南省&aa=耒阳市&aaa=耒阳市

    @FormUrlEncoded

    @POST("geocoding?")

    Observable getAdress(@Field("a") String a,@Field("aa") String aa,@Field("aaa") String aaa);

    3.创建管理Retrofit的RetrofitManager

    //单例模式

    private static finalRetrofitManageretrofitManage=newRetrofitManage();

    privateRetrofitManage(){

    }

    public  staticRetrofitManage getInstance(){

    returnRetrofitManage.retrofitManage;

    }

    public Retrofit CreateRetrofit(String url){

        Retrofit retrofit=newRetrofit

        .Builder()

        .baseUrl(url)

        .addCallAdapterFactory(RxJavaCallAdapterFactory.create())

        .addConverterFactory(GsonConverterFactory.create())

       .build();

       return  retrofit;

    }

    4.直接调用

    ApiService service=staticRetrofitManage.getInstance().CreateRetrofit(url).create(ApiService.class);

    Observable observer = service.getAdress("湖南省","衡阳市","耒阳市");

      observer.subscribeOn(Schedulers.newThread())

      .observeOn(AndroidSchedulers.mainThread())

       .subscribe(newAction1() {

       @Override

          public voidcall(AliAdress aliAdress) {

      // 

     }

    });

    相关文章

      网友评论

          本文标题:Retrofit+RxAndroid 快速使用

          本文链接:https://www.haomeiwen.com/subject/laigwxtx.html