/*rx-android-java*/
compile 'io.reactivex:rxjava:1.0.14'
compile 'io.reactivex:rxandroid:1.0.1'
/*rotrofit*/
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'//Retrofit2所需要的包
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'//ConverterFactory的Gson依赖包
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'//rxjava与retrofit交互需要的适配器
ApiNet接口
@GET("nba/?key=71e58b5b2f930eaf1f937407acde08fe&num=10")
Observable<UserBean<GeryList>> getData();
Maintivity类
package com.example.yangshuan12_06;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import java.util.List;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
import rx.Observable;
import rx.Scheduler;
import rx.Subscriber;
import rx.schedulers.Schedulers;
public class MainActivity extends AppCompatActivity {
private RecyclerView recy;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recy =(RecyclerView)findViewById(R.id.recy);
//设置布局管理器
LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recy.setLayoutManager(manager);
Retrofit build = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.baseUrl("http://api.tianapi.com/")
.build();
ApiNet apiNet = build.create(ApiNet.class);
Observable<UserBean<GeryList>> data = apiNet.getData();
data.subscribeOn(Schedulers.io())
.observeOn(Schedulers.newThread())
.subscribe(new Subscriber<UserBean<GeryList>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(UserBean<GeryList> geryListUserBean) {
List<GeryList> newslist = geryListUserBean.getNewslist();
Log.e("TAG",newslist.toString());
recy.setAdapter(new MyAdapter(newslist,MainActivity.this));
}
});
}
}