使用rxjava2执行后台任务

时间:2017-12-02 11:50:39

标签: android rx-java2

我刚开始学习RxJava2。在我的应用程序中,我想查询firebase并将一些数据存储在数据库中。问题是我对如何在RxJava使用它感到困惑。如果你可以为我提供一个开始,那么我就可以开始工作了。我发现有很多解决方案,所以我对使用什么和什么时候感到困惑。 我尝试使用Single运算符,它会发出成功或失败,但会中途停留。

1 个答案:

答案 0 :(得分:1)

这就是我使用它的方式: 首先,我创建一个抽象类:

class VerifiyEmailDomain extends AsyncCommand<Boolean> {
    private final Context mContext;
    private final String mEmail;

    public VerifiyEmailDomain(Context context, String email) {
        mContext = context;
        mEmail = email;
    }

    @Override
    public Boolean run() throws Exception {
        return Util.doesHostExist(mEmail);
    }
}

和,Util.doesHostExist(mEmail)将在此示例中的io线程中执行:

verifiyEmailDomain(context, email).subscribe(new Consumer<Boolean>() {
            @Override
            public void accept(Boolean result) throws Exception {
                 //do stuff in normal case
        }, new Consumer<Throwable>() {
            @Override
            public void accept(Throwable throwable) throws Exception {
               // do stuff if exception occurs
            }
        });

使用它:

{{1}}