本文整理了Java中io.reactivex.Single.subscribeWith()
方法的一些代码示例,展示了Single.subscribeWith()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Single.subscribeWith()
方法的具体详情如下:
包路径:io.reactivex.Single
类名称:Single
方法名:subscribeWith
[英]Subscribes a given SingleObserver (subclass) to this Single and returns the given SingleObserver as is.
Usage example:
Single<Integer> source = Single.just(1);
CompositeDisposable composite = new CompositeDisposable();
DisposableSingleObserver<Integer> ds = new DisposableSingleObserver<>() {
// ...
};
composite.add(source.subscribeWith(ds));
Scheduler: subscribeWith does not operate by default on a particular Scheduler.
[中]将给定的SingleObserver(子类)订阅到此SingleObserver,并按原样返回给定的SingleObserver。
用法示例:
Single<Integer> source = Single.just(1);
CompositeDisposable composite = new CompositeDisposable();
DisposableSingleObserver<Integer> ds = new DisposableSingleObserver<>() {
// ...
};
composite.add(source.subscribeWith(ds));
调度程序:默认情况下,subscribeWith不会在特定调度程序上运行。
代码示例来源:origin: ReactiveX/RxJava
/**
* Returns a {@link Future} representing the single value emitted by this {@code Single}.
* <p>
* <img width="640" height="467" src="https://github.com/ReactiveX/RxJava/wiki/images/rx-operators/Single.toFuture.png" alt="">
* <dl>
* <dt><b>Scheduler:</b></dt>
* <dd>{@code toFuture} does not operate by default on a particular {@link Scheduler}.</dd>
* </dl>
*
* @return a {@link Future} that expects a single item to be emitted by this {@code Single}
* @see <a href="http://reactivex.io/documentation/operators/to.html">ReactiveX documentation: To</a>
*/
@CheckReturnValue
@SchedulerSupport(SchedulerSupport.NONE)
public final Future<T> toFuture() {
return subscribeWith(new FutureSingleObserver<T>());
}
代码示例来源:origin: redisson/redisson
/**
* Returns a {@link Future} representing the single value emitted by this {@code Single}.
* <p>
* <img width="640" height="395" src="https://github.com/ReactiveX/RxJava/wiki/images/rx-operators/B.toFuture.png" alt="">
* <dl>
* <dt><b>Scheduler:</b></dt>
* <dd>{@code toFuture} does not operate by default on a particular {@link Scheduler}.</dd>
* </dl>
*
* @return a {@link Future} that expects a single item to be emitted by this {@code Single}
* @see <a href="http://reactivex.io/documentation/operators/to.html">ReactiveX documentation: To</a>
*/
@CheckReturnValue
@SchedulerSupport(SchedulerSupport.NONE)
public final Future<T> toFuture() {
return subscribeWith(new FutureSingleObserver<T>());
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void just() {
Single.just(1)
.doAfterSuccess(afterSuccess)
.subscribeWith(to)
.assertResult(1);
assertEquals(Arrays.asList(1, -1), values);
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void error() {
Single.<Integer>error(new TestException())
.doAfterSuccess(afterSuccess)
.subscribeWith(to)
.assertFailure(TestException.class);
assertTrue(values.isEmpty());
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void withSingle() {
assertEquals(1, Single.just(1).subscribeWith(new ObserverImpl()).value);
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void just() {
Single.just(1)
.doAfterTerminate(afterTerminate)
.subscribeWith(to)
.assertResult(1);
assertAfterTerminateCalledOnce();
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void error() {
Single.<Integer>error(new TestException())
.doAfterTerminate(afterTerminate)
.subscribeWith(to)
.assertFailure(TestException.class);
assertAfterTerminateCalledOnce();
}
代码示例来源:origin: Polidea/RxAndroidBle
@Override
protected void protectedRun(final ObservableEmitter<BluetoothGatt> emitter, final QueueReleaseInterface queueReleaseInterface) {
final Action queueReleaseAction = new Action() {
@Override
public void run() {
queueReleaseInterface.release();
}
};
final DisposableSingleObserver<BluetoothGatt> disposableGattObserver = getConnectedBluetoothGatt()
.compose(wrapWithTimeoutWhenNotAutoconnecting())
// when there are no subscribers there is no point of continuing work -> next will be disconnect operation
.doFinally(queueReleaseAction)
.subscribeWith(disposableSingleObserverFromEmitter(emitter));
emitter.setDisposable(disposableGattObserver);
if (autoConnect) {
// with autoConnect the connection may be established after a really long time
queueReleaseInterface.release();
}
}
代码示例来源:origin: Polidea/RxAndroidBle
.subscribeWith(disposableSingleObserverFromEmitter(emitter));
代码示例来源:origin: vogellacompany/codeexamples-android
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (parent.getSelectedItem() instanceof GithubRepo) {
GithubRepo githubRepo = (GithubRepo) parent.getSelectedItem();
compositeDisposable.add(githubAPI.getIssues(githubRepo.owner, githubRepo.name)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(getIssuesObserver()));
}
}
代码示例来源:origin: vogellacompany/codeexamples-android
public void onClick(View view) {
switch (view.getId()) {
case R.id.loadRepos_button:
compositeDisposable.add(githubAPI.getRepos()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(getRepositoriesObserver()));
break;
case R.id.send_comment_button:
String newComment = commentEditText.getText().toString();
if (!newComment.isEmpty()) {
GithubIssue selectedItem = (GithubIssue) issuesSpinner.getSelectedItem();
selectedItem.comment = newComment;
compositeDisposable.add(githubAPI.postComment(selectedItem.comments_url, selectedItem)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(getCommentObserver()));
} else {
Toast.makeText(MainActivity.this, "Please enter a comment", Toast.LENGTH_LONG).show();
}
break;
}
}
代码示例来源:origin: shanraisshan/Refactoring-Android-App-Series-Overview
public void loadBooks() {
compositeDisposable.add(bookRepository.getBooks()
.subscribeOn(Schedulers.io())
.observeOn(mainScheduler)
.subscribeWith(new DisposableSingleObserver<List<Book>>() {
@Override
public void onSuccess(List<Book> bookList) {
System.out.println("Thread subscribe(): " + Thread.currentThread().getId());
if (bookList.isEmpty()) {
view.displayNoBooks();
} else {
view.displayBooks(bookList);
}
}
@Override
public void onError(Throwable e) {
System.out.println("Throwable: " + e.toString());
view.displayError();
}
}));
}
代码示例来源:origin: jorgegil96/All-NBA
public void resetPaginatorThenLoadPosts(Sorting sorting, TimePeriod timePeriod) {
if (subreddit.equals(Constants.MULTI_SWISH)) {
redditService.getMultiReddit(redditAuthentication.getRedditClient(),
"Obi-Wan_Ginobili", Constants.MULTI_SWISH)
.subscribeOn(schedulerProvider.io())
.observeOn(schedulerProvider.ui())
.subscribeWith(new DisposableSingleObserver<MultiReddit>() {
@Override
public void onSuccess(MultiReddit multiReddit) {
postsRepository.reset(sorting, timePeriod, multiReddit);
loadPosts(true /* reset */);
}
@Override
public void onError(Throwable e) {
view.showPostsLoadingFailedSnackbar(true);
}
});
} else {
postsRepository.reset(sorting, timePeriod, subreddit);
loadPosts(true /* reset */);
}
}
代码示例来源:origin: jorgegil96/All-NBA
.subscribeOn(schedulerProvider.io())
.observeOn(schedulerProvider.ui())
.subscribeWith(new DisposableSingleObserver<Streamable>() {
@Override
public void onSuccess(Streamable streamable) {
代码示例来源:origin: petrnohejl/Android-Stocks
private void sendQuote(String symbol) {
if (NetworkUtility.isOnline(getApplicationContext())) {
String callType = StocksRxRouter.QUOTE_CALL_TYPE;
if (!mRestRxManager.isRunning(callType)) {
// show progress
state.set(StatefulLayout.PROGRESS);
// subscribe
Single<Response<QuoteEntity>> rawSingle = StocksRxRouter.getService().quote("json", symbol);
Single<Response<QuoteEntity>> single = mRestRxManager.setupRestSingleWithSchedulers(rawSingle, callType);
single.subscribeWith(createQuoteObserver());
}
} else {
// show offline
state.set(StatefulLayout.OFFLINE);
}
}
代码示例来源:origin: petrnohejl/Android-Stocks
private void sendLookup(String input) {
if (NetworkUtility.isOnline(getApplicationContext())) {
String callType = StocksRxRouter.LOOKUP_CALL_TYPE;
if (!mRestRxManager.isRunning(callType)) {
// show progress
state.set(StatefulLayout.PROGRESS);
// subscribe
Single<Response<List<LookupEntity>>> rawSingle = StocksRxRouter.getService().lookup("json", input);
Single<Response<List<LookupEntity>>> single = mRestRxManager.setupRestSingleWithSchedulers(rawSingle, callType);
single.subscribeWith(createLookupObserver());
}
} else {
// show offline
state.set(StatefulLayout.OFFLINE);
}
}
代码示例来源:origin: petrnohejl/Android-Stocks
private void sendLookup(String input) {
if (NetworkUtility.isOnline(getApplicationContext())) {
String callType = StocksRxRouter.LOOKUP_CALL_TYPE;
if (!mRestRxManager.isRunning(callType)) {
// show progress
state.set(StatefulLayout.PROGRESS);
// subscribe
Single<Response<List<LookupEntity>>> rawSingle = StocksRxRouter.getService().lookup("json", input);
Single<Response<List<LookupEntity>>> single = mRestRxManager.setupRestSingleWithSchedulers(rawSingle, callType);
single.subscribeWith(createLookupObserver());
}
} else {
// show offline
state.set(StatefulLayout.OFFLINE);
}
}
代码示例来源:origin: jorgegil96/All-NBA
public void loadSubscriberCount() {
disposables.add(redditAuthentication.authenticate()
.andThen(redditService.getSubscriberCount(redditAuthentication.getRedditClient(),
subreddit))
.subscribeOn(schedulerProvider.io())
.observeOn(schedulerProvider.ui())
.subscribeWith(new DisposableSingleObserver<SubscriberCount>() {
@Override
public void onSuccess(SubscriberCount subscriberCount) {
if (isViewAttached()) {
view.showSubscribers(subscriberCount);
}
}
@Override
public void onError(Throwable e) {
}
})
);
}
代码示例来源:origin: jorgegil96/All-NBA
public void loadStandings() {
view.setLoadingIndicator(true);
view.dismissSnackbar();
view.hideStandings();
disposables.clear();
disposables.add(nbaStandingsService.getStandings("22018")
.subscribeOn(schedulerProvider.io())
.map(this::sortTeams)
.observeOn(schedulerProvider.ui())
.subscribeWith(new DisposableSingleObserver<Standings>() {
@Override
public void onSuccess(Standings standings) {
view.setLoadingIndicator(false);
view.showStandings(standings);
}
@Override
public void onError(Throwable e) {
view.setLoadingIndicator(false);
view.showSnackbar(true);
}
})
);
}
代码示例来源:origin: jorgegil96/All-NBA
.subscribeOn(schedulerProvider.io())
.observeOn(schedulerProvider.ui())
.subscribeWith(new DisposableSingleObserver<List<Highlight>>() {
@Override
public void onSuccess(List<Highlight> highlights) {
内容来源于网络,如有侵权,请联系作者删除!