Search in sources :

Example 1 with People

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 {
        // 主线程中刷新页面
        }
    });
}
Also used : ObservableOnSubscribe(io.reactivex.ObservableOnSubscribe) Consumer(io.reactivex.functions.Consumer) People(com.yuchengren.mvp.entity.People) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) ObservableEmitter(io.reactivex.ObservableEmitter)

Aggregations

People (com.yuchengren.mvp.entity.People)1 ObservableEmitter (io.reactivex.ObservableEmitter)1 ObservableOnSubscribe (io.reactivex.ObservableOnSubscribe)1 Consumer (io.reactivex.functions.Consumer)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1