package me.qixingchen.mdbilibili.network; import com.google.gson.Gson; import com.squareup.okhttp.OkHttpClient; import com.squareup.okhttp.Request; import com.squareup.okhttp.Response; import java.io.IOException; import me.qixingchen.mdbilibili.model.Topic; import rx.Observable; import rx.Subscriber; import rx.schedulers.Schedulers; /** * Created by Yulan on 2015/7/31. * 首页主题json */ public class TopicApi { public static Observable<Topic> getTopic() { return Observable.create(new Observable.OnSubscribe<Topic>() { @Override public void call(Subscriber<? super Topic> subscriber) { Request request = new Request.Builder() .url("http://www.bilibili.com/index/slideshow.json") .build(); try { Response response = new OkHttpClient().newCall(request).execute(); if (response.isSuccessful()) { Topic topic = new Gson().fromJson(response.body().string(), Topic.class); subscriber.onNext(topic); } else { subscriber.onError(new Exception(response.message())); } } catch (IOException e) { e.printStackTrace(); } } }).subscribeOn(Schedulers.io()); } }