android - Firebase isSuccessful() 总是返回 false

标签 android firebase firebase-realtime-database

我正在使用 firebase 作为后端服务。我正在将数据插入到我的 firebase 数据库中,我使用以下代码检查插入是否成功,但它始终返回 false。

boolean issucessfull = ref.child("universities").setValue(university).isSuccessful();

            if (issucessfull) {
                Toast.makeText(UniversityActivity.this, "added to database successfully", Toast.LENGTH_SHORT).show();
                clearViews();
                enableViews(true);
            } else {
                Toast.makeText(UniversityActivity.this, "Some error occured, try again", Toast.LENGTH_SHORT).show();
                enableViews(true);
            }

可能是什么原因?我已经调试它数据已添加到 firebase 但它仍然总是错误的。任何帮助将不胜感激。

最佳答案

因为Task还没有完成,添加一个CompletionListener作为setValue的第二个参数。

ref.child("universities").setValue(university, new DatabaseReference.CompletionListener() {
    @Override
    public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
        if (databaseError != null) {
            Toast.makeText(UniversityActivity.this, "Some error occured, try again", Toast.LENGTH_SHORT).show();
            enableViews(true);
        } else {
            Toast.makeText(UniversityActivity.this, "added to database successfully", Toast.LENGTH_SHORT).show();
            clearViews();
            enableViews(true);
        }
    }
});

上面的代码是推荐的方式,另一种是

Task<Void> task = new FireDatabaseRole().ref.setValue(university);
task.addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        if (task.isSuccessful()) {
            // success
        } else {
            // error
        }
    }
});

关于android - Firebase isSuccessful() 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38681842/

相关文章:

javascript - 如何从另一个 Node 事件触发的 `onWrite` 函数中到达 Google Cloud Function 中的特定 Node ?

android - 使用 O_DIRECT 打开文件时写入错误 : Invalid argument,

android - OpenGL ES 2.0 崩溃 (glGetUniformLocation : glError 1281)

javascript - Firebase:确保在运行脚本的其余部分之前已将数据提交给 Firebase

android - Firebase 分析不提供自定义事件详细信息(总计)0 项

android - 有没有办法对 Firebase 中的只读对象进行版本控制?

android - 使用 PagerSlidingTabStrips 在单击选项卡时切换选项卡不起作用

android - 安排 JobService 仅在应用程序运行时运行(在前台)

javascript - 如何使用 angularfire2 读取和更新同一文档?

javascript - 函数中的 Firebase 查询未按预期返回