rx.Observable.unsubscribeOn()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(8.2k)|赞(0)|评价(0)|浏览(186)

本文整理了Java中rx.Observable.unsubscribeOn()方法的一些代码示例,展示了Observable.unsubscribeOn()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Observable.unsubscribeOn()方法的具体详情如下:
包路径:rx.Observable
类名称:Observable
方法名:unsubscribeOn

Observable.unsubscribeOn介绍

[英]Modifies the source Observable so that subscribers will unsubscribe from it on a specified Scheduler. Scheduler: you specify which Scheduler this operator will use
[中]修改可观察的源,以便订阅者在指定的计划程序上取消订阅。调度器:指定该操作员将使用的调度器

代码示例

代码示例来源:origin: bumptech/glide

  1. @Override
  2. protected void onDestroy() {
  3. super.onDestroy();
  4. fetchImagesObservable.unsubscribeOn(AndroidSchedulers.mainThread());
  5. }

代码示例来源:origin: pinguo-zhouwei/MZBannerView

  1. /**
  2. *
  3. * @param observable
  4. * @param <T>
  5. * @return
  6. */
  7. protected <T> Observable<T> observe(Observable<T> observable){
  8. return observable.subscribeOn(Schedulers.io())
  9. .unsubscribeOn(Schedulers.io())
  10. .observeOn(AndroidSchedulers.mainThread());
  11. }

代码示例来源:origin: cymcsg/UltimateAndroid

  1. private <T> void toSubscribe(Observable<T> o, Subscriber<T> s) {
  2. o.subscribeOn(Schedulers.io())
  3. .unsubscribeOn(Schedulers.io())
  4. .observeOn(AndroidSchedulers.mainThread())
  5. .subscribe(s);
  6. }
  7. }

代码示例来源:origin: Rukey7/MvpApp

  1. /**
  2. * 获取图片列表
  3. * @return
  4. */
  5. public static Observable<List<PhotoInfo>> getPhotoList() {
  6. return sNewsService.getPhotoList()
  7. .subscribeOn(Schedulers.io())
  8. .unsubscribeOn(Schedulers.io())
  9. .subscribeOn(AndroidSchedulers.mainThread())
  10. .observeOn(AndroidSchedulers.mainThread());
  11. }

代码示例来源:origin: Rukey7/MvpApp

  1. /**
  2. * 获取更多图片列表
  3. * @return
  4. */
  5. public static Observable<List<PhotoInfo>> getPhotoMoreList(String setId) {
  6. return sNewsService.getPhotoMoreList(setId)
  7. .subscribeOn(Schedulers.io())
  8. .unsubscribeOn(Schedulers.io())
  9. .subscribeOn(AndroidSchedulers.mainThread())
  10. .observeOn(AndroidSchedulers.mainThread());
  11. }

代码示例来源:origin: Rukey7/MvpApp

  1. @Override
  2. public Observable<T> call(Observable<Map<String, List<T>>> mapObservable) {
  3. return mapObservable.flatMap(new Func1<Map<String, List<T>>, Observable<T>>() {
  4. @Override
  5. public Observable<T> call(Map<String, List<T>> stringListMap) {
  6. if (TextUtils.isEmpty(mMapKey)) {
  7. return Observable.error(new Throwable("Map Key is empty"));
  8. }
  9. return Observable.from(stringListMap.get(mMapKey));
  10. }
  11. }).subscribeOn(Schedulers.io())
  12. .unsubscribeOn(Schedulers.io())
  13. .subscribeOn(AndroidSchedulers.mainThread())
  14. .observeOn(AndroidSchedulers.mainThread());
  15. }
  16. }

代码示例来源:origin: Rukey7/MvpApp

  1. /**
  2. * 获取视频列表
  3. * @return
  4. */
  5. public static Observable<List<VideoInfo>> getVideoList(String videoId, int page) {
  6. return sNewsService.getVideoList(videoId, page * INCREASE_PAGE / 2)
  7. .subscribeOn(Schedulers.io())
  8. .unsubscribeOn(Schedulers.io())
  9. .subscribeOn(AndroidSchedulers.mainThread())
  10. .observeOn(AndroidSchedulers.mainThread())
  11. .flatMap(_flatMapVideo(videoId));
  12. }

代码示例来源:origin: Rukey7/MvpApp

  1. /**
  2. * 获取图集
  3. * @param photoId 图集ID
  4. * @return
  5. */
  6. public static Observable<PhotoSetInfo> getPhotoSet(String photoId) {
  7. return sNewsService.getPhotoSet(StringUtils.clipPhotoSetId(photoId))
  8. .subscribeOn(Schedulers.io())
  9. .unsubscribeOn(Schedulers.io())
  10. .subscribeOn(AndroidSchedulers.mainThread())
  11. .observeOn(AndroidSchedulers.mainThread());
  12. }

代码示例来源:origin: Rukey7/MvpApp

  1. /**
  2. * 获取美女图片
  3. * 注: 因为网易这个原接口参数一大堆,我只传了部分参数,返回的数据会出现图片重复的情况,请不要在意这个问题- -
  4. * @return
  5. */
  6. public static Observable<List<BeautyPhotoInfo>> getBeautyPhoto(int page) {
  7. return sNewsService.getBeautyPhoto(page * INCREASE_PAGE)
  8. .subscribeOn(Schedulers.io())
  9. .unsubscribeOn(Schedulers.io())
  10. .subscribeOn(AndroidSchedulers.mainThread())
  11. .observeOn(AndroidSchedulers.mainThread())
  12. .flatMap(_flatMapPhotos());
  13. }

代码示例来源:origin: Rukey7/MvpApp

  1. /**
  2. * 获取福利图片
  3. * @return
  4. */
  5. public static Observable<WelfarePhotoInfo> getWelfarePhoto(int page) {
  6. return sWelfareService.getWelfarePhoto(page)
  7. .subscribeOn(Schedulers.io())
  8. .unsubscribeOn(Schedulers.io())
  9. .subscribeOn(AndroidSchedulers.mainThread())
  10. .observeOn(AndroidSchedulers.mainThread())
  11. .flatMap(_flatMapWelfarePhotos());
  12. }

代码示例来源:origin: Rukey7/MvpApp

  1. /**
  2. * 获取专题数据
  3. * @param specialId
  4. * @return
  5. */
  6. public static Observable<SpecialInfo> getSpecial(String specialId) {
  7. return sNewsService.getSpecial(specialId)
  8. .subscribeOn(Schedulers.io())
  9. .unsubscribeOn(Schedulers.io())
  10. .subscribeOn(AndroidSchedulers.mainThread())
  11. .observeOn(AndroidSchedulers.mainThread())
  12. .flatMap(_flatMapSpecial(specialId));
  13. }

代码示例来源:origin: Rukey7/MvpApp

  1. /**
  2. * 获取新闻详情
  3. * @param newsId 新闻ID
  4. * @return
  5. */
  6. public static Observable<NewsDetailInfo> getNewsDetail(final String newsId) {
  7. return sNewsService.getNewsDetail(newsId)
  8. .subscribeOn(Schedulers.io())
  9. .unsubscribeOn(Schedulers.io())
  10. .subscribeOn(AndroidSchedulers.mainThread())
  11. .observeOn(AndroidSchedulers.mainThread())
  12. .flatMap(new Func1<Map<String, NewsDetailInfo>, Observable<NewsDetailInfo>>() {
  13. @Override
  14. public Observable<NewsDetailInfo> call(Map<String, NewsDetailInfo> newsDetailMap) {
  15. return Observable.just(newsDetailMap.get(newsId));
  16. }
  17. });
  18. }

代码示例来源:origin: Rukey7/MvpApp

  1. /**
  2. * 获取新闻列表
  3. * @return
  4. */
  5. public static Observable<NewsInfo> getNewsList(String newsId, int page) {
  6. String type;
  7. if (newsId.equals(HEAD_LINE_NEWS)) {
  8. type = "headline";
  9. } else {
  10. type = "list";
  11. }
  12. return sNewsService.getNewsList(type, newsId, page * INCREASE_PAGE)
  13. .subscribeOn(Schedulers.io())
  14. .unsubscribeOn(Schedulers.io())
  15. .subscribeOn(AndroidSchedulers.mainThread())
  16. .observeOn(AndroidSchedulers.mainThread())
  17. .flatMap(_flatMapNews(newsId));
  18. }

代码示例来源:origin: Rukey7/MvpApp

  1. /**
  2. * 倒计时
  3. * @param time
  4. * @return
  5. */
  6. public static Observable<Integer> countdown(int time) {
  7. if (time < 0) {
  8. time = 0;
  9. }
  10. final int countTime = time;
  11. return Observable.interval(0, 1, TimeUnit.SECONDS)
  12. .map(new Func1<Long, Integer>() {
  13. @Override
  14. public Integer call(Long increaseTime) {
  15. return countTime - increaseTime.intValue();
  16. }
  17. })
  18. .take(countTime + 1)
  19. .subscribeOn(Schedulers.io())
  20. .unsubscribeOn(Schedulers.io())
  21. .subscribeOn(AndroidSchedulers.mainThread())
  22. .observeOn(AndroidSchedulers.mainThread());
  23. }
  24. }

代码示例来源:origin: jaydenxiao2016/AndroidFire

  1. @NonNull
  2. private Drawable getDrawableFromNet(final String source) {
  3. mSubscription = Api.getDefault(HostType.NEWS_DETAIL_HTML_PHOTO)
  4. .getNewsBodyHtmlPhoto(Api.getCacheControl(),source)
  5. .unsubscribeOn(Schedulers.io())
  6. .subscribeOn(Schedulers.io())
  7. .observeOn(AndroidSchedulers.mainThread())
  8. .map(new Func1<ResponseBody, Boolean>() {
  9. @Override
  10. public Boolean call(ResponseBody response) {
  11. return WritePicToDisk(response, source);
  12. }
  13. }).subscribe(new Subscriber<Boolean>() {
  14. @Override
  15. public void onCompleted() {
  16. }
  17. @Override
  18. public void onError(Throwable e) {
  19. }
  20. @Override
  21. public void onNext(Boolean isLoadSuccess) {
  22. mPicCount++;
  23. if (isLoadSuccess && (mPicCount == mPicTotal - 1)) {
  24. mTextView.setText(Html.fromHtml(mNewsBody, URLImageGetter.this, null));
  25. }
  26. }
  27. });
  28. return createPicPlaceholder();
  29. }

代码示例来源:origin: lyft/scoop

  1. public <T> void add(Observable<T> observable, Observer<? super T> observer) {
  2. if (Looper.myLooper() != Looper.getMainLooper()) { throw new AssertionError("Must be on main thread"); }
  3. this.subscriptions.add(observable.subscribeOn(this.subscribeOnScheduler)
  4. .observeOn(this.observeOnScheduler)
  5. .unsubscribeOn(this.observeOnScheduler)
  6. .subscribe(observer));
  7. }

代码示例来源:origin: GeekGhost/Ghost

  1. /**
  2. * ClassificationPresenter
  3. *
  4. * @return
  5. */
  6. public Observable<VideoRes> queryClassification() {
  7. return mService.getHomePage()
  8. .map(new ServerResultFunc<VideoRes>())
  9. .onErrorResumeNext(new HttpResultFunc<VideoRes>())
  10. .subscribeOn(Schedulers.io())
  11. .unsubscribeOn(Schedulers.io())
  12. .observeOn(AndroidSchedulers.mainThread());
  13. }

代码示例来源:origin: kaku2015/ColorfulNews

  1. mSubscription = RetrofitManager.getInstance(HostType.NEWS_DETAIL_HTML_PHOTO)
  2. .getNewsBodyHtmlPhoto(source)
  3. .unsubscribeOn(Schedulers.io())
  4. .subscribeOn(Schedulers.io())
  5. .observeOn(AndroidSchedulers.mainThread())

代码示例来源:origin: devinhu/androidone

  1. public void toSubscribe(Observable observable, Subscriber subscriber){
  2. observable.subscribeOn(Schedulers.io())
  3. .unsubscribeOn(Schedulers.io())
  4. .observeOn(AndroidSchedulers.mainThread())
  5. .subscribe(subscriber);
  6. }
  7. }

代码示例来源:origin: NielsMasdorp/Speculum-Android

  1. @Override
  2. public void loadCalendarEvents(int updateDelay, Subscriber<String> subscriber) {
  3. compositeSubscription.add(Observable.interval(0, updateDelay, TimeUnit.MINUTES)
  4. .flatMap(ignore -> googleCalendarService.getCalendarEvents())
  5. .retryWhen(Observables.exponentialBackoff(AMOUNT_OF_RETRIES, DELAY_IN_SECONDS, TimeUnit.SECONDS))
  6. .observeOn(AndroidSchedulers.mainThread())
  7. .subscribeOn(Schedulers.io())
  8. .unsubscribeOn(Schedulers.io())
  9. .subscribe(subscriber));
  10. }

相关文章

Observable类方法