类io.reactivex.subscribers.ResourceSubscriber源码实例Demo

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

源代码1 项目: AcgClub   文件: ScheduleCollectionFragment.java
/**
 * 获取收藏的所有番剧信息并显示出来
 */
private void getScheduleCollections() {
  ScheduleDAO dao = new ScheduleDAO(
      getMAppComponent()
          .repositoryManager()
          .obtainRealmConfig(SystemConstant.DB_NAME)
  );
  mDisposable = dao.getScheduleCollectCaches()
      .compose(RxUtil.<List<ScheduleCache>>rxSchedulerHelper())
      .subscribeWith(new ResourceSubscriber<List<ScheduleCache>>() {
        @Override
        public void onNext(List<ScheduleCache> scheduleCaches) {
          mAdapter.setList(scheduleCaches);
          if (scheduleCaches.size() > 0) {
            showPageContent();
          } else {
            showPageEmpty();
          }
        }

        @Override
        public void onError(Throwable t) {
          showError(R.string.msg_error_data_null);
          showPageError();
        }

        @Override
        public void onComplete() {

        }
      });
}
 
public static void main(String[] args) {
	// TODO Auto-generated method stub
	
	ResourceSubscriber<Long> resourceSubscriber = new ResourceSubscriber<Long>() {

		@Override
		public void onComplete() {
			// TODO Auto-generated method stub
			System.out.println("Its Done!!!");
			dispose();
		}

		@Override
		public void onError(Throwable throwable) {
			// TODO Auto-generated method stub
			throwable.printStackTrace();
			dispose();
		}

		@Override
		public void onNext(Long value_long) {
			// TODO Auto-generated method stub
			if(value_long==7)
				dispose();
			System.out.println("value :-"+value_long);
		}
		
		@Override
		protected void onStart() {
			// TODO Auto-generated method stub
			request(Long.MAX_VALUE);
		}
	};
	
	Flowable.rangeLong(5, 4).subscribe(resourceSubscriber);
	resourceSubscriber.dispose();
	
}
 
源代码3 项目: rxjava2   文件: BeerClientFlowable.java
public static void main(String[] args) {

        Observable<Beer> beerData = BeerServer.getData(); // No streaming just yet


        ResourceSubscriber<Beer> beerSubscriber = new ResourceSubscriber<Beer>() {
            @Override
            public void onNext(Beer beer) {
                System.out.println("Got "+ beer);
            }

            @Override
            public void onError(Throwable throwable) {
                System.err.println("In Observer.onError(): " + throwable.getMessage());
            }

            @Override
            public void onComplete() {
                System.out.println("*** The stream is over ***");
            }
        };

        // Converting an Observable to Flowable
        beerData
             .toFlowable(BackpressureStrategy.BUFFER)
             .subscribe(beerSubscriber);   // Streaming starts here


        // If the subscriber is less than 21 year old, cancel subscription
         beerSubscriber.dispose();
    }
 
源代码4 项目: AcgClub   文件: ScheduleDetailPresenter.java
/**
 * 查询该番剧的缓存信息
 *
 * @param isManualClick 是否主动点击
 */
public void getCurrentScheduleCache(final RxPermissions rxPermissions,
    final boolean isManualClick) {
  //如果播放记录还没加载成功,则先加载
  if (!TextUtils.isEmpty(curScheduleCache.getScheduleUrl()) && isManualClick) {
    checkPermission2ScheduleVideo(rxPermissions,
        getNextScheduleUrl(currentScheduleDetail, curScheduleCache.getLastWatchPos()));
  } else {
    addSubscribe(
        mModel.getScheduleCacheByUrl(currentScheduleUrl)
            .compose(RxUtil.<ScheduleCache>rxSchedulerHelper())
            .subscribeWith(new ResourceSubscriber<ScheduleCache>() {
              @Override
              public void onNext(ScheduleCache scheduleCache) {
                curScheduleCache.setCollect(scheduleCache.isCollect());
                curScheduleCache.setLastWatchPos(scheduleCache.getLastWatchPos());
              }

              @Override
              public void onError(Throwable t) {
                t.printStackTrace();
                mView.showError(R.string.msg_error_unknown);
              }

              @Override
              public void onComplete() {
                loadCache = true;
                if (!TextUtils.isEmpty(curScheduleCache.getScheduleUrl())) {
                  mView.showScheduleCacheStatus(curScheduleCache);
                }
                //手动点击,则在加载完记录后跳转到视频播放
                if (isManualClick) {
                  checkPermission2ScheduleVideo(
                      rxPermissions,
                      getNextScheduleUrl(currentScheduleDetail,
                          curScheduleCache.getLastWatchPos()));
                }
              }
            })
    );
  }
}
 
 类所在包
 类方法
 同包方法