use of com.yuchengren.mvp.entity.People in project MVP by yuchengren.
the class RxAndroidActivity method test2.
private void test2() {
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
// IO线程中做网络访问等耗时操作
// String responseJsonString = OkHttpUtil.get("http://192.168.0.1:8080/TradeType=getPeoples");
// String responseJsonString = "[{\"gendar\":29,\"name\":\"ren\",\"sex\":0},{\"gendar\":30,\"name\":\"ling\",\"sex\":1}]";
List<People> peopleList = new ArrayList<>();
peopleList.add(new People("ren", 0, 29));
peopleList.add(new People("ling", 1, 30));
LogHelper.e(TAG, GsonUtil.formatObjectToJson(peopleList));
e.onNext(GsonUtil.formatObjectToJson(peopleList));
}
}).map(new Function<String, List<People>>() {
@Override
public List<People> apply(String s) throws Exception {
LogHelper.d(TAG, "map,CurrentThreadName=" + Thread.currentThread().getName());
List<People> peopleList = GsonUtil.parseJsonToList(s, People.class);
// json解析成实体类
return peopleList;
}
}).doOnNext(new Consumer<List<People>>() {
@Override
public void accept(List<People> people) throws Exception {
LogHelper.d(TAG, "doOnNext,CurrentThreadName=" + Thread.currentThread().getName());
// 存入数据库
}
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<List<People>>() {
@Override
public void accept(List<People> people) throws Exception {
// 主线程中刷新页面
}
});
}
Aggregations