小编Inc*_*tor的帖子

订阅Vs订阅RxJava2(Android)?

何时调用subscribeWith方法而不是普通订阅?什么是用例?

compositeDisposable.add(get()
    .observeOn(AndroidSchedulers.mainThread())
    .subscribeOn(Schedulers.io())
    .subscribe(this::handleResponse, this::handleError));
Run Code Online (Sandbox Code Playgroud)

VS

   compositeDisposable.add(get()
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeOn(Schedulers.io())
              //  .subscribe(this::handleResponse, this::handleError);
                .subscribeWith(new DisposableObserver<News>() {
                    @Override public void onNext(News value) {
                        handleResponse(value);
                    }

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

                    @Override public void onComplete() {
                       // dispose here ? why? when the whole thing will get disposed later
                       //via  compositeDisposable.dispose();  in onDestroy();
                    }
                }));
Run Code Online (Sandbox Code Playgroud)

谢谢


稍后添加

根据文档,两者都返回一次性SingleObserver实例:

@CheckReturnValue
@SchedulerSupport(SchedulerSupport.NONE)
public final <E extends SingleObserver<? super T>> E subscribeWith(E observer) {
    subscribe(observer);
    return observer;
}

@SchedulerSupport(SchedulerSupport.NONE)
public final Disposable …
Run Code Online (Sandbox Code Playgroud)

android reactive-programming rx-java rx-java2

43
推荐指数
1
解决办法
1万
查看次数

为什么rxjava Observable.subscribe(observer)返回void?

当我使用Observable.subscribe()时,通常返回Disposable。

但是Observable.subscribe(Observer)返回void。

因此,我无法处理Observable.subscribe(Observer)。

根据introtorx.com,Observable.subscribe(Obeserver)返回Disposable。

为什么rx和rxjava不同?

++++++++++++++

compile 'io.reactivex.rxjava2:rxandroid:2.0.1'在Android Studio中使用。

github.com/ReactiveX/RxJava/blob/2.x/src/main/java/io/reactivex/Observable.java#L10831

public final void subscribe(Observer<? super T> observer) {
  ... 
}
Run Code Online (Sandbox Code Playgroud)

[[1]:https//i.stack.imgur.com/0owg1.png] [1 ]

[[2]:https//i.stack.imgur.com/7H4av.jpg] [2 ]

rx-java rx-android

5
推荐指数
1
解决办法
2231
查看次数

带有Firestore错误的云功能"截止日期已超过"

我正在测试新的火店,但我总是遇到同样的问题,它告诉我一些关于Deadline超出的问题

{ Error: Deadline Exceeded
    at /user_code/node_modules/firebase-admin/node_modules/grpc/src/node/src/client.js:554:15
  code: 16,
  metadata: Metadata { _internal_repr: {} },
  note: 'Exception occurred in retry method that was not classified as transient' }
Run Code Online (Sandbox Code Playgroud)

这是我目前的代码,看起来很好(当我将其部署到Firebase时可以使用)

const functions = require('firebase-functions');

const admin = require('firebase-admin');
var serviceAccount = require("./xxxxxxxx-firebase-adminsdk.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://xxxxxxxxx-xxxx.firebaseio.com"
});

exports.registerUser = functions.auth.user().onCreate(event => {
  admin.firestore().collection('users').doc(event.data.uid).set({
    name: 'Test User',
    country: 'USA'
  }).catch(error => {
    console.log(error);
  })
});
Run Code Online (Sandbox Code Playgroud)

它还显示此消息函数返回undefined,预期Promise或value

node.js firebase firebase-authentication google-cloud-functions google-cloud-firestore

5
推荐指数
1
解决办法
3788
查看次数

Android:Layout.addView()不起作用

当我尝试运行以下代码时出现错误.模拟器给我这个错误消息,然后app force关闭: 应用程序意外停止.怎么了?

import edu.chl.dat255.bluebanana.R;
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;

public class ProMan extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        LinearLayout layout = (LinearLayout) findViewById(R.layout.main);

        TextView t = new TextView(getApplicationContext());
        t.setText("Hello world");
        layout.addView(t);
    }
}
Run Code Online (Sandbox Code Playgroud)

layout android view emulation

3
推荐指数
1
解决办法
2万
查看次数

如何将数字字符(0-9)转换为其数值?

Char.toInt()返回字符的ASCII码,而不是数字值。那么,如何将Char转换为具有正确数值的整数呢?

kotlin

0
推荐指数
1
解决办法
1186
查看次数