类io.reactivex.android.schedulers.AndroidSchedulers源码实例Demo

下面列出了怎么用io.reactivex.android.schedulers.AndroidSchedulers的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: 1Rramp-Android   文件: LeaderboardBar.java
/**
 * fetch leaderboard
 */
private void loadLeaders() {
  RetrofitServiceGenerator.getService().getLeaderboardList()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribeWith(new SingleObserver<LeaderboardModel>() {
      @Override
      public void onSubscribe(Disposable d) {
        compositeDisposable.add(d);
      }

      @Override
      public void onSuccess(LeaderboardModel leaderboardModel) {
        handleLeaderBoardList(leaderboardModel);
      }

      @Override
      public void onError(Throwable e) {
      }
    });
}
 
源代码2 项目: BetterWay   文件: MyService.java
/**
 * 初始化提醒时间
 */
private void initDuraion() {
    io.reactivex.Observable.create(new ObservableOnSubscribe<Integer>() {
        @Override
        public void subscribe(ObservableEmitter<Integer> e) throws Exception {
            SharedPreferences sharedPreferences =
                    getSharedPreferences("com.android.betterway_preferences", Context.MODE_PRIVATE);
            weatherWarn = sharedPreferences.getBoolean("weather_warn", false);
            if (weatherWarn) {
                String d = sharedPreferences.getString("warning_time", "15");
                int dur = Integer.parseInt(d);
                e.onNext(dur);
            } else {
                e.onNext(0);
            }
        }
    }).observeOn(Schedulers.io())
            .subscribeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<Integer>() {
                @Override
                public void accept(Integer integer) throws Exception {
                    duration = integer;
                }
            });
}
 
源代码3 项目: DataLoader   文件: DataLoadDemo11.java
@SuppressLint("CheckResult")
@Override
public void load(final MutableLiveData<String> result) {
    Observable
            .fromCallable(new Callable<String>() {
                @Override
                public String call() throws Exception {
                    return "DataLoadDemo11 called";
                }
            })
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<String>() {
                @Override
                public void accept(String s) throws Exception {
                    result.setValue(s);
                }
            });
}
 
源代码4 项目: V2EX   文件: UserService.java
/**
 * 从设置页面获取用户信息并返回结果
 *
 * @param responseListener 请求结果回调接口
 */
public static void getInfo(ResponseListener<Account> responseListener){

    mUserApi.getSettingPage()
            .compose(RxUtil.io2computation())
            .flatMap((Function<String, ObservableSource<Account>>) s -> {
                ErrorEnum.ERR_PAGE_NEED_LOGIN.check(s);
                ErrorEnum.ERR_PAGE_NEED_LOGIN0.check(s);
                return getAccount(s);
            })
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new RxObserver<Account>() {
                @Override
                public void _onError(String msg) {
                    super._onError(msg);
                    responseListener.onFailed(msg);
                }
                @Override
                public void _onNext(Account account) {
                    responseListener.onComplete(account);
                }
            });
}
 
源代码5 项目: lifecycle-component   文件: DetailPresenter.java
public void requestDetailInfo(int id){
    mModel.getDetailInfo(id)
            .subscribeOn(Schedulers.io())
            .retryWhen(new RetryWithDelay(3, 2))//遇到错误时重试,第一个参数为重试几次,第二个参数为重试的间隔
            .doOnSubscribe(disposable -> {
                mRootView.showLoading();//显示下拉刷新的进度条
            }).subscribeOn(AndroidSchedulers.mainThread())
            .observeOn(AndroidSchedulers.mainThread())
            .doFinally(() -> {
                mRootView.hideLoading();//隐藏下拉刷新的进度条
            })
            .compose(RxLifecycleUtils.bindToLifecycle(mRootView))//使用 Rxlifecycle,使 Disposable 和 Activity 一起销毁
            .subscribe(new ErrorHandleSubscriber<ZhihuDetailBean>(mErrorHandler) {
                @Override
                public void onNext(ZhihuDetailBean zhihuDetailBean) {
                    mRootView.shonContent(zhihuDetailBean);
                }
            });
}
 
源代码6 项目: NovelReader   文件: BookListFragment.java
@Override
protected void initClick() {
    super.initClick();
    mBookListAdapter.setOnLoadMoreListener(
            () -> {
               mPresenter.loadBookList(mBookListType,mTag,mStart,mLimit);
            }
    );
    mBookListAdapter.setOnItemClickListener(
            (view,pos) -> {
                BookListBean bean = mBookListAdapter.getItem(pos);
                BookListDetailActivity.startActivity(getContext(),bean.get_id());
            }
    );

    Disposable disposable = RxBus.getInstance()
            .toObservable(BookSubSortEvent.class)
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(
                    event -> {
                        mTag = event.bookSubSort;
                        showRefresh();
                    }
            );
    addDisposable(disposable);
}
 
源代码7 项目: sqlitemagic   文件: ListActivity.java
private void wireData() {
  subscriptions = new CompositeDisposable();
  subscriptions.add(Select
      .from(ITEM)
      .where(ITEM.LIST.is(itemList))
      .orderBy(ITEM.COMPLETE.asc(), ITEM.DESCRIPTION.asc())
      .observe()
      .runQuery()
      .observeOn(AndroidSchedulers.mainThread())
      .subscribe(adapter::setData));
  subscriptions.add(Observable.combineLatest(Select
          .from(ITEM_LIST)
          .where(ITEM_LIST.ID.is(itemList.id()))
          .takeFirst()
          .observe()
          .runQuery(),
      Item.countItemsFor(itemList)
          .runQuery(),
      (itemList, count) -> String.format("%s (%s)", itemList.name(), count))
      .observeOn(AndroidSchedulers.mainThread())
      .subscribe(this::setTitle));
}
 
public void onSeed(String walletAddress, KeyService.AuthenticationLevel level)
{
    if (walletAddress == null)
    {
        progress.postValue(false);
        System.out.println("ERROR");
        badSeed.postValue(true);
    }
    else
    {
        progress.postValue(true);
        //begin key storage process
        disposable = importWalletInteract.storeHDWallet(walletAddress, level, ensResolver)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(wallet::postValue, this::onError); //signal to UI wallet import complete
    }
}
 
public void loadAnnouncementDetails(String id) {
    checkViewAttached();
    compositeDisposable.add(mDataManager.getAnnouncementDetail(id)
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeOn(Schedulers.io())
            .subscribeWith(new DisposableObserver<DetailAnnouncement>() {

                @Override
                public void onNext(DetailAnnouncement detailAnnouncement) {
                    getMvpView().showAnnouncementDetail(detailAnnouncement);
                }

                @Override
                public void onError(Throwable e) {
                    Log.d(LOG_TAG, e.getMessage());
                    getMvpView().showWaitProgress(false);
                    getMvpView().showSnackBar(R.string.failed_to_fetch_announcement);
                }

                @Override
                public void onComplete() {
                    getMvpView().showWaitProgress(false);
                }
            }));
}
 
源代码10 项目: Android-OkGraphQl   文件: MainActivity.java
private void query_variables_directives() {
    okGraphql

            .query(
                    "Hero($episode: Episode, $withFriends: Boolean!) {" +
                            "  hero(episode: $episode) {" +
                            "    name" +
                            "    friends @include(if: $withFriends) {" +
                            "      name" +
                            "    }" +
                            "  }"
            )


            .variable("episode", "JEDI")
            .variable("withFriends", false)

            .cast(StarWarsResponse.class)

            .toSingle()
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(
                    data -> text1.setText(data.toString()),
                    throwable -> text1.setText(throwable.getLocalizedMessage())
            );
}
 
源代码11 项目: MBEStyle   文件: IconShowPresenter.java
public Disposable getWhatsNewIcons() {
    return Observable.fromArray(mView.getResources().getStringArray(R.array.whatsnew))
            .map(new Function<String, IconBean>() {
                @Override
                public IconBean apply(@NonNull String s) throws Exception {
                    IconBean bean = new IconBean();
                    bean.id = mView.getResources().getIdentifier(s, "drawable", BuildConfig.APPLICATION_ID);
                    bean.name = s;

                    return bean;
                }
            }).toList().subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<List<IconBean>>() {
                @Override
                public void accept(List<IconBean> list) throws Exception {
                    mView.onLoadData(list);
                }
            });
}
 
源代码12 项目: adamant-android   文件: MessagesScreen.java
@Override
protected void onResume() {
    super.onResume();
    presenter.onResume();
    navigatorHolder.setNavigator(navigator);

    MessagesPresenter localPresenter = presenter;
    messageInputDisposable = RxTextView
            .textChanges(newMessageText)
            .debounce(500, TimeUnit.MILLISECONDS)
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(
                    localPresenter::onChangeMessageText,
                    error -> LoggerHelper.e(getClass().getSimpleName(), error.getMessage(), error)
            );

    endlessScrollListener = new EndlessUpScrollListener(layoutManager) {
        @Override
        public void onLoadMore(int page, int totalItemsCount, RecyclerView view) {
            presenter.loadMore();
        }
    };
    endlessScrollListener.setVisibleThreshold(12);
    messagesList.addOnScrollListener(endlessScrollListener);
}
 
源代码13 项目: RxAndroid-Examples   文件: MainActivity.java
private void initSearchFeature(StudentAdapter adapter) {
    RxSearchObservable.fromSearchView(svKey)
            .debounce(500, TimeUnit.MILLISECONDS)
            .filter(text -> !text.isEmpty())
            .distinctUntilChanged()
            .switchMap(new Function<String, ObservableSource<ArrayList<String>>>() {
                @Override
                public ObservableSource<ArrayList<String>> apply(@NonNull String key) throws Exception {
                    return DataSource.getSearchData(key);
                }
            })
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(names -> {
                adapter.removeAllNames();
                adapter.addStudentNames(names);
            });
}
 
源代码14 项目: Mp3Cutter   文件: HomePresenter.java
@Override
public void play(Activity activity) {
    // 播放
    if (TextUtils.isEmpty(mSelMp3Path)) {
        Toast.makeText(activity,
                activity.getString(R.string.dialog_cutter_warning_sel),
                Toast.LENGTH_SHORT).show();
        return;
    }
    mMediaPlayer.start();
    mView.setPlayBtnWithStatus(true);
    mView.setVisualizerViewEnaled(true);
    seekToForIsMin();
    //开启进度rx轮询事件
    mDisposable = mUpdateProgressObservable.observeOn(AndroidSchedulers.mainThread()).
            subscribe(mUpdateProgressConsumer);
}
 
源代码15 项目: ETHWallet   文件: FindDefaultWalletInteract.java
public Single<Wallet> find() {
	return walletRepository
			.getDefaultWallet()
			.onErrorResumeNext(walletRepository
					.fetchWallets()
					.to(single -> Flowable.fromArray(single.blockingGet()))
					.firstOrError()
					.flatMapCompletable(walletRepository::setDefaultWallet)
					.andThen(walletRepository.getDefaultWallet()))
			.observeOn(AndroidSchedulers.mainThread());
}
 
源代码16 项目: SmallGdufe-Android   文件: OpacApiFactory.java
public void  searchBook(String bookName,int page,Observer<List<SearchBook>> sub) {
    ApiUtils.getApi(AppConfig.idsPwd).create(OpacApi.class).searchBook(bookName,page)
            .map(new HttpResultFunc<List<SearchBook>>())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeOn(Schedulers.io())
            .subscribe(sub);
}
 
源代码17 项目: line-sdk-android   文件: BaseApisFragment.java
protected Disposable startApiAsyncTask(String apiName, FunctionWithApiResponse function) {
    progressDialog.setCancelable(false);
    progressDialog.show();

    return Single.just(apiName)
            .subscribeOn(Schedulers.io())
            .map(name -> function.method())
            .observeOn(AndroidSchedulers.mainThread())
            .doFinally(() -> progressDialog.dismiss())
            .subscribe(
                    lineApiResponse -> addLog("\n== " + apiName + " == " + lineApiResponse.getResponseCode() + LOG_SEPARATOR + lineApiResponse),
                    error -> addLog("\n== " + apiName + " == Error\n" + error.getMessage())
            );
}
 
源代码18 项目: ShareLoginPayUtil   文件: WeiboLoginInstance.java
@SuppressLint("CheckResult")
@Override
public void fetchUserInfo(final BaseToken token) {
    mSubscribe = Flowable.create(new FlowableOnSubscribe<WeiboUser>() {
        @Override
        public void subscribe(@NonNull FlowableEmitter<WeiboUser> weiboUserEmitter) {
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder().url(buildUserInfoUrl(token, USER_INFO)).build();
            try {
                Response response = client.newCall(request).execute();
                JSONObject jsonObject = new JSONObject(response.body().string());
                WeiboUser user = WeiboUser.parse(jsonObject);
                weiboUserEmitter.onNext(user);
                weiboUserEmitter.onComplete();
            } catch (IOException | JSONException e) {
                ShareLogger.e(ShareLogger.INFO.FETCH_USER_INOF_ERROR);
                weiboUserEmitter.onError(e);
            }
        }
    }, BackpressureStrategy.DROP)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<WeiboUser>() {
                @Override
                public void accept(@NonNull WeiboUser weiboUser) throws Exception {
                    mLoginListener.loginSuccess(
                            new LoginResultData(LoginPlatform.WEIBO, token, weiboUser));
                    LoginUtil.recycle();
                }
            }, new Consumer<Throwable>() {
                @Override
                public void accept(@NonNull Throwable throwable) throws Exception {
                    mLoginListener.loginFailure(new Exception(throwable), ShareLogger.INFO.ERR_FETCH_CODE);
                    LoginUtil.recycle();
                }
            });
}
 
源代码19 项目: v9porn   文件: RxSchedulersHelper.java
public static <T> ObservableTransformer<T, T> ioMainThread() {
    return new ObservableTransformer<T, T>() {
        @Override
        public ObservableSource<T> apply(Observable<T> upstream) {
            return upstream.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread());
        }
    };
}
 
private void getActiveEnrollments() {
    compositeDisposable.add(teiProgramListRepository.activeEnrollments(trackedEntityId)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(enrollments -> {
                        Collections.sort(enrollments, (enrollment1, enrollment2) -> enrollment1.programName().compareToIgnoreCase(enrollment2.programName()));
                        view.setActiveEnrollments(enrollments);
                    },
                    Timber::d)
    );
}
 
源代码21 项目: Tok-Android   文件: PortraitView.java
private void listen() {
    stopListen();
    if (mDisposable == null) {
        mDisposable = RxBus.listen(PortraitEvent.class)
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<PortraitEvent>() {
                @Override
                public void accept(PortraitEvent portraitEvent) throws Exception {
                    if (portraitEvent.getKey().equals(mFriendKey)) {
                        PortraitView.this.loadAvatar();
                    }
                }
            });
    }
}
 
源代码22 项目: AppOpsX   文件: ConfigPresenter.java
void restoreOps(final RestoreModel model) {
  final int size = model.preAppInfos.size();
  final AtomicInteger progress = new AtomicInteger();
  mView.showProgress(true, size);

  Observable.fromIterable(model.preAppInfos)
      .flatMap(new Function<PreAppInfo, ObservableSource<OpsResult>>() {
        @Override
        public ObservableSource<OpsResult> apply(@NonNull PreAppInfo appInfo) throws Exception {
          return Helper.setModes(context, appInfo.getPackageName(), AppOpsManager.MODE_IGNORED,
              appInfo.getOps());
        }
      }).subscribeOn(Schedulers.io())
      .observeOn(AndroidSchedulers.mainThread()).subscribe(new ResourceObserver<OpsResult>() {
    @Override
    public void onNext(@NonNull OpsResult opsResult) {
      mView.setProgress(progress.incrementAndGet());
    }

    @Override
    public void onError(@NonNull Throwable e) {
      progress.incrementAndGet();
    }

    @Override
    public void onComplete() {
      mView.showProgress(false, 0);
      Toast.makeText(context, "恢复成功", Toast.LENGTH_LONG).show();
    }
  });
}
 
源代码23 项目: okhttp-json-mock   文件: MainActivity.java
private void requestUsers() {
    Disposable subscription = usersService.getUsers(1)
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeOn(Schedulers.io())
            .retry(3)
            .subscribe(userModels -> usersAdapter.addData(userModels),
                    Throwable::printStackTrace);
    compositeDisposable.add(subscription);
}
 
源代码24 项目: CloudReader   文件: OneMovieDetailActivity.java
private void loadMovieDetail() {
    HttpClient.Builder.getDouBanService().getMovieDetail(subjectsBean.getId())
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Observer<MovieDetailBean>() {

                @Override
                public void onError(Throwable e) {
                    showError();
                }

                @Override
                public void onComplete() {
                    showContentView();
                }

                @Override
                public void onSubscribe(Disposable d) {
                    addSubscription(d);
                }

                @Override
                public void onNext(final MovieDetailBean movieDetailBean) {
                    // 上映日期
                    bindingHeaderView.tvOneDay.setText(String.format("上映日期:%s", movieDetailBean.getYear()));
                    // 制片国家
                    bindingHeaderView.tvOneCity.setText(String.format("制片国家/地区:%s", StringFormatUtil.formatGenres(movieDetailBean.getCountries())));
                    bindingHeaderView.setMovieDetailBean(movieDetailBean);
                    bindingContentView.setBean(movieDetailBean);
                    bindingContentView.executePendingBindings();

                    mMoreUrl = movieDetailBean.getAlt();
                    mMovieName = movieDetailBean.getTitle();

                    transformData(movieDetailBean);
                }
            });
}
 
源代码25 项目: DanDanPlayForAndroid   文件: AnimeDetailBean.java
public static void follow(String animaId, CommJsonObserver<CommJsonEntity> observer, NetworkConsumer consumer){
    Map<String, String> map = new HashMap<>();
    map.put("animeId", animaId);
    map.put("favoriteStatus", "favorited");
    map.put("rating", "0");
    RetroFactory.getInstance().follow(map)
            .doOnSubscribe(consumer)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(observer);
}
 
private void getENSAddress(String name)
{
    ensProgress();
    if (ensResolver == null)
        ensResolver = new AWEnsResolver(TokenRepository.getWeb3jService(EthereumNetworkRepository.MAINNET_ID), getContext());
    ensResolver.resolveENSAddress(name)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(this::fetchedENSAddress, this::onENSFail).isDisposed();
}
 
源代码27 项目: youtubedl-android   文件: MainActivity.java
private void updateYoutubeDL() {
    if (updating) {
        Toast.makeText(MainActivity.this, "update is already in progress", Toast.LENGTH_LONG).show();
        return;
    }

    updating = true;
    progressBar.setVisibility(View.VISIBLE);
    Disposable disposable = Observable.fromCallable(() -> YoutubeDL.getInstance().updateYoutubeDL(getApplication()))
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(status -> {
                progressBar.setVisibility(View.GONE);
                switch (status) {
                    case DONE:
                        Toast.makeText(MainActivity.this, "update successful", Toast.LENGTH_LONG).show();
                        break;
                    case ALREADY_UP_TO_DATE:
                        Toast.makeText(MainActivity.this, "already up to date", Toast.LENGTH_LONG).show();
                        break;
                    default:
                        Toast.makeText(MainActivity.this, status.toString(), Toast.LENGTH_LONG).show();
                        break;
                }
                updating = false;
            }, e -> {
                if(BuildConfig.DEBUG) Log.e(TAG, "failed to update", e);
                progressBar.setVisibility(View.GONE);
                Toast.makeText(MainActivity.this, "update failed", Toast.LENGTH_LONG).show();
                updating = false;
            });
    compositeDisposable.add(disposable);
}
 
源代码28 项目: Hentoid   文件: QueueViewModel.java
public void remove(@NonNull Content content) {
    compositeDisposable.add(
            Completable.fromRunnable(() -> doRemove(content.getId()))
                    .subscribeOn(Schedulers.io())
                    .observeOn(AndroidSchedulers.mainThread())
                    .subscribe(
                            () -> {
                                // Nothing to do here; UI callbacks are handled through LiveData
                            },
                            Timber::e
                    )
    );
}
 
源代码29 项目: green_android   文件: TwoFactorActivity.java
public void enableTwoFactor(final String method, final String data) {
    if (twoFactorConfigData.getEnabledMethods().contains(method.toLowerCase(Locale.US))) {
        UI.toast(this, "Two factor just enabled", Toast.LENGTH_LONG);
        finishOnUiThread();
        return;
    }

    disposable = Observable.just(getSession())
                 .subscribeOn(Schedulers.computation())
                 .map((session) -> {
        final TwoFactorDetailData twoFactorDetail = new TwoFactorDetailData();
        twoFactorDetail.setEnabled(true);
        twoFactorDetail.setData(data);
        twoFactorDetail.setConfirmed(true);
        session.changeSettingsTwoFactor(method, twoFactorDetail).resolve(new PopupMethodResolver(this),
                                                                         new PopupCodeResolver(this));
        return session;
    })
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe((session) -> {
        UI.toast(this, "Two factor enabled", Toast.LENGTH_LONG);
        setEnableDisableResult(true);
        finishOnUiThread();
    }, (final Throwable e) -> {
        UI.toast(this, e.getMessage(), Toast.LENGTH_LONG);
    });
}
 
源代码30 项目: MyBookshelf   文件: ChapterListAdapter.java
public void search(final String key) {
    bookChapterBeans.clear();
    if (Objects.equals(key, "")) {
        isSearch = false;
        notifyDataSetChanged();
    } else {
        Observable.create((ObservableOnSubscribe<Boolean>) emitter -> {
            for (BookChapterBean bookChapterBean : allChapter) {
                if (bookChapterBean.getDurChapterName().contains(key)) {
                    bookChapterBeans.add(bookChapterBean);
                }
            }
            emitter.onNext(true);
            emitter.onComplete();
        }).subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new MyObserver<Boolean>() {
                    @Override
                    public void onNext(Boolean aBoolean) {
                        isSearch = true;
                        notifyDataSetChanged();
                    }

                    @Override
                    public void onError(Throwable e) {

                    }
                });
    }
}
 
 类所在包
 类方法
 同包方法