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

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

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

Observable.fromEmitter介绍

暂无

代码示例

代码示例来源:origin: evant/redux

  1. public static <S> Observable<S> observable(final SimpleStore<S> store) {
  2. return Observable.fromEmitter(new Action1<Emitter<S>>() {
  3. @Override
  4. public void call(Emitter<S> emitter) {
  5. store.addListener(new EmitterListener<>(emitter, store));
  6. }
  7. }, Emitter.BackpressureMode.LATEST);
  8. }

代码示例来源:origin: ArturVasilov/AndroidSchool

  1. @NonNull
  2. public Observable<String> observeChanges() {
  3. return Observable.fromEmitter(new Action1<AsyncEmitter<String>>() {
  4. @Override
  5. public void call(AsyncEmitter<String> asyncEmitter) {
  6. mEmitter = asyncEmitter;
  7. asyncEmitter.onNext(getText().toString());
  8. }
  9. }, AsyncEmitter.BackpressureMode.LATEST);
  10. }

代码示例来源:origin: alessandrojp/android-easy-checkout

  1. /**
  2. * Get the information about inventory of purchases made by a user from your app
  3. * This method will get all the purchases even if there are more than 500
  4. * This will be executed from Work Thread
  5. * See http://developer.android.com/google/play/billing/billing_integrate.html#QueryPurchases
  6. *
  7. * @param purchaseType IN_APP or SUBSCRIPTION
  8. */
  9. public Observable<Purchases> getPurchases(final PurchaseType purchaseType) {
  10. return Observable.fromEmitter(new Action1<Emitter<Purchases>>() {
  11. @Override
  12. public void call(final Emitter<Purchases> emitter) {
  13. getBillingProcessor().getPurchases(purchaseType, new PurchasesHandler() {
  14. @Override
  15. public void onSuccess(Purchases purchases) {
  16. emitter.onNext(purchases);
  17. emitter.onCompleted();
  18. }
  19. @Override
  20. public void onError(BillingException e) {
  21. emitter.onError(e);
  22. }
  23. });
  24. }
  25. }, Emitter.BackpressureMode.LATEST);
  26. }

代码示例来源:origin: alessandrojp/android-easy-checkout

  1. /**
  2. * Get item details (SKU)
  3. * This will be executed from Work Thread
  4. * See http://developer.android.com/google/play/billing/billing_integrate.html#QueryDetails
  5. *
  6. * @param purchaseType IN_APP or SUBSCRIPTION
  7. * @param itemIds list of SKU ids to be loaded
  8. */
  9. public Observable<ItemDetails> getItemDetails(final PurchaseType purchaseType, final ArrayList<String> itemIds) {
  10. return Observable.fromEmitter(new Action1<Emitter<ItemDetails>>() {
  11. @Override
  12. public void call(final Emitter<ItemDetails> emitter) {
  13. getBillingProcessor().getItemDetails(purchaseType, itemIds, new ItemDetailsHandler() {
  14. @Override
  15. public void onSuccess(ItemDetails itemDetails) {
  16. emitter.onNext(itemDetails);
  17. emitter.onCompleted();
  18. }
  19. @Override
  20. public void onError(BillingException e) {
  21. emitter.onError(e);
  22. }
  23. });
  24. }
  25. }, Emitter.BackpressureMode.LATEST);
  26. }

代码示例来源:origin: alessandrojp/android-easy-checkout

  1. /**
  2. * Method deprecated, please use @{link {@link BillingProcessorObservable#getPurchases(PurchaseType)}}
  3. * <p>
  4. * Get the information about inventory of purchases made by a user from your app
  5. * This method will get all the purchases even if there are more than 500
  6. * This will be executed from Work Thread
  7. * See http://developer.android.com/google/play/billing/billing_integrate.html#QueryPurchases
  8. *
  9. * @param purchaseType IN_APP or SUBSCRIPTION
  10. */
  11. @Deprecated
  12. public Observable<Purchases> getInventory(final PurchaseType purchaseType) {
  13. return Observable.fromEmitter(new Action1<Emitter<Purchases>>() {
  14. @Override
  15. public void call(final Emitter<Purchases> emitter) {
  16. getBillingProcessor().getInventory(purchaseType, new InventoryHandler() {
  17. @Override
  18. public void onSuccess(Purchases purchases) {
  19. emitter.onNext(purchases);
  20. emitter.onCompleted();
  21. }
  22. @Override
  23. public void onError(BillingException e) {
  24. emitter.onError(e);
  25. }
  26. });
  27. }
  28. }, Emitter.BackpressureMode.LATEST);
  29. }

代码示例来源:origin: ArturVasilov/AndroidSchool

  1. @NonNull
  2. @Override
  3. public Observable<Boolean> addToFavourite(@NonNull Movie movie) {
  4. return Observable.fromEmitter(new Action1<AsyncEmitter<Boolean>>() {
  5. @Override
  6. public void call(AsyncEmitter<Boolean> emitter) {
  7. MoviesProvider.save(movie, MoviesProvider.Type.FAVOURITE);
  8. emitter.onNext(true);
  9. emitter.onCompleted();
  10. }
  11. }, AsyncEmitter.BackpressureMode.LATEST)
  12. .compose(RxUtils.async());
  13. }

代码示例来源:origin: ArturVasilov/AndroidSchool

  1. @NonNull
  2. @Override
  3. public Observable<Boolean> removeFromFavourite(@NonNull Movie movie) {
  4. return Observable.fromEmitter(new Action1<AsyncEmitter<Boolean>>() {
  5. @Override
  6. public void call(AsyncEmitter<Boolean> emitter) {
  7. MoviesProvider.delete(movie);
  8. emitter.onNext(false);
  9. emitter.onCompleted();
  10. }
  11. }, AsyncEmitter.BackpressureMode.LATEST)
  12. .compose(RxUtils.async());
  13. }

代码示例来源:origin: TangoAgency/android-data-binding-rxjava

  1. public static <T> Observable<T> toObservable(@NonNull final ObservableField<T> observableField) {
  2. return Observable.fromEmitter(asyncEmitter -> {
  3. final OnPropertyChangedCallback callback = new OnPropertyChangedCallback() {
  4. @Override
  5. public void onPropertyChanged(android.databinding.Observable dataBindingObservable, int propertyId) {
  6. if (dataBindingObservable == observableField) {
  7. asyncEmitter.onNext(observableField.get());
  8. }
  9. }
  10. };
  11. observableField.addOnPropertyChangedCallback(callback);
  12. asyncEmitter.setCancellation(() -> observableField.removeOnPropertyChangedCallback(callback));
  13. }, AsyncEmitter.BackpressureMode.LATEST);
  14. }
  15. }

代码示例来源:origin: rchodava/datamill

  1. @Override
  2. public ResponseBuilder streamingBodyAsBufferChunks(Func1<Observer<ByteBuffer>, Observable<ByteBuffer>> bodyStreamer) {
  3. Observable<ByteBuffer> chunkStream = Observable.fromEmitter(emitter -> {
  4. Subscription subscription = bodyStreamer.call(new PassthroughObserver<>(emitter))
  5. .doOnNext(buffer -> emitter.onNext(buffer))
  6. .doOnCompleted(() -> emitter.onCompleted())
  7. .doOnError(e -> emitter.onError(e))
  8. .subscribeOn(Schedulers.io())
  9. .subscribe();
  10. emitter.setCancellation(subscription::unsubscribe);
  11. }, Emitter.BackpressureMode.BUFFER);
  12. this.body = new StreamedChunksBody(chunkStream, Charset.defaultCharset());
  13. return this;
  14. }

代码示例来源:origin: rchodava/datamill

  1. @Override
  2. public ResponseBuilder streamingJson(Func1<Observer<Json>, Observable<Json>> jsonStreamer) {
  3. return streamingBody(body ->
  4. Observable.fromEmitter(emitter -> {
  5. JsonStreamer streamer = new JsonStreamer(emitter);
  6. Subscription subscription = jsonStreamer.call(streamer)
  7. .doOnNext(json -> streamer.onNext(json))
  8. .doOnCompleted(() -> {
  9. emitter.onNext("]".getBytes());
  10. emitter.onCompleted();
  11. })
  12. .doOnError(e -> streamer.onError(e))
  13. .subscribeOn(Schedulers.io())
  14. .subscribe();
  15. emitter.setCancellation(subscription::unsubscribe);
  16. }, Emitter.BackpressureMode.BUFFER));
  17. }

相关文章

Observable类方法