java - datasnapshot 没有从 firebase 获得值(value)

标签 java android firebase firebase-realtime-database

我想问题一定存在,但我无法弄清楚。我想达到标题,但我不能总是快照返回 null 也没有关于连接的问题,因为当我检查用户 ID 时,我可以达到那个。

  DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
    DatabaseReference titleRef = rootRef.child("users").child("value").child("title");
    button.setOnClickListener(new View.OnClickListener() {
        @Override

        public void onClick(View view) {
            titleRef.get().addOnCompleteListener(task -> {
                if (task.isSuccessful()) {
                    DataSnapshot snapshot = task.getResult();
                    String title = snapshot.getValue(String.class);
                    Log.d("TAG", title);
                    System.out.println(title);
                } else {
                    Log.d("TAG", task.getException().getMessage()); //Don't ignore potential errors!
                }
            });
        }
    });
enter image description here
----我的数据结构----
{
  "users" : {
    "value" : {
      "title" : "dsfdfasd"
    }
  }
}

最佳答案

如果您的数据库架构如下所示:

{
  "users" : {
    "value" : {
      "title" : "dsfdfasd"
    }
  }
}
为了能够得到“title”的值,请使用以下引用
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference titleRef = rootRef.child("users").child("value").child("title");
调用 get() 并像这样附加一个监听器:
titleRef.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DataSnapshot> task) {
        if (task.isSuccessful()) {
            DataSnapshot snapshot = task.getResult();
            String title = snapshot.getValue(String.class);
            Log.d("TAG", title);
        } else {
            Log.d("TAG", task.getException().getMessage()); //Don't ignore potential errors!
        }
    }
});
logcat 中的结果将是:
dsfdfasd
除此之外,始终记录错误,而不是盲目地假设一切正常。

关于java - datasnapshot 没有从 firebase 获得值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69021539/

相关文章:

android - 在哪些情况下,Android 上的文件操作会抛出 SecurityException?

reactjs - React + Firebase 托管

java - 如果在 android 中的 SQLite 事务期间,第二个线程尝试在同一个表上进行事务,会发生什么情况?

java - 关于如何处理涉及 API 集成的项目的想法

java - 我需要帮助才能在 Android 中获取 CNAP(CallerDisplayName)

android - 在 Eclipse 中调试期间缺少 AVD

android - 如何将日期格式响应传递给 SimpleDateFormat?

javascript - React 中的过滤列表

android - 将 JSON 对象保存到 Android 中的 Firebase

java - 如何在java中分离字符串以满足以下要求?