RxJava+Retrofit入門級使用

最近有點閒,就研究了下RxJava與Retrofit的使用。網上找了很多的demo與例子,都是別人封裝好的,看起來有點吃力。而後本身寫了個簡單的例子,之後再封裝吧。php

在使用RxJava與Retrofit以前咱們要先了解下這兩種框架。網上例子比較多,給你們分享下我看的幾個吧java

 

  Rxjava:http://www.jianshu.com/u/c50b715ccaeb  這個寫的不錯,由淺入深。講了很多東西.react

 Retrofit:http://blog.csdn.net/bitian123/article/details/51899716  這個是現找的,也是入門級的教程。 android

 

在正式開始以前你們注意下框架

compile 'io.reactivex:rxandroid:1.1.0'
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta3'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'

RxJava和Retrofit都有兩個大的版本更新,加載jar文件的時候必定要正確。否則有的方法是找不到的。


直接給你們貼上我所有的代碼吧,比較簡單,只有兩個class,裏面的內容也是RxJava與Retrofit基本的東西,你們看下我貼出來的兩個網址基本上都會懂的,我就不復述了,關於CallAdapterFactory和
ConverterFactory再給你們貼個地址吧:http://blog.csdn.net/new_abc/article/details/53021387。


第一個class,也是mainactivity


//初始化Retrofit
Retrofit = new Retrofit.Builder().baseUrl("http://***.**.184.217/")
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create()).build();

btn = (Button) findViewById(R.id.btn);
mTextView = (TextView) findViewById(R.id.text3);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BTNClick();
}
});
}


public void BTNClick() {

RxService RxService = Retrofit.create(RxService.class);
Observable<Object> Object = RxService.getData();
Subscriber mSubscriber = new Subscriber<Object>() {
@Override
public void onCompleted() {
Log.d(TAG, "onCompleted");
}

@Override
public void onError(Throwable e) {
Log.d(TAG, "onError: " + e.toString());
}

@Override
public void onNext(Object o) {
Log.d(TAG, "onNext: " + o.toString());
mTextView.setText(o.toString());
}
};
Object.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(mSubscriber);

}
第二個class  

public interface RxService {
@GET("peng.php")
Observable<Object> getData();

}

最後運行的結果:ide

MainActivity: onNext: {大一=[[1.0, 張, 班長, 19], [2.0, 李, 學委, 18], [3.0, 王, 學生, 19]], 大二=[[1.0, 趙, 班長, 19], [2.0, 周, 學委, 18], [3.0, 郭, 學生, 19]], 大三=[[1.0, 孫, 班長, 19], [2.0, 魯, 學委, 18], [3.0, 林, 學生, 19]]}gradle

MainActivity: onCompletedui

 

 

 

 

    最後再額外地說一點,給Android Studio剛入門的人說的。在build.gradle中的dependencies中 輸入compile 'io.reactivex:rxandroid:1.1.0'之後。不須要咱們再導入jar包,在屏幕的上方會出現這個提示,點擊sync now 就會自動下載jar文件.net

相關文章
相關標籤/搜索