Retrofit+RxAndroid 快速使用

1.導(dǎo)包

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.創(chuàng)建ApiService

url式例

http://gc.ditu.aliyun.com/geocoding?a=湖南省&aa=耒陽(yáng)市&aaa=耒陽(yáng)市

@FormUrlEncoded

@POST("geocoding?")

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

3.創(chuàng)建管理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.直接調(diào)用

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

Observable observer = service.getAdress("湖南省","衡陽(yáng)市","耒陽(yáng)市");

? observer.subscribeOn(Schedulers.newThread())

? .observeOn(AndroidSchedulers.mainThread())

? ?.subscribe(newAction1() {

? ?@Override

? ? ? public voidcall(AliAdress aliAdress) {

? //?

?}

});

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容