【问题标题】:Android Studio dataSnapshot exists but nothing is getting printed FirebaseAndroid Studio dataSnapshot 存在,但没有打印 Firebase
【发布时间】:2021-12-31 01:29:29
【问题描述】:

我很困惑为什么这不起作用,我已经尝试调试了很多,但我不知道为什么这不起作用

FirebaseDatabase.getInstance().getReference().child("users").child("name").addValueEventListener(new ValueEventListener() {

        @Override
        public void onDataChange(@NonNull @NotNull DataSnapshot dataSnapshot) {
            if (dataSnapshot.exists()) {
                Log.d("dataSnapshot", "exists");
                for (DataSnapshot snapshot1 : dataSnapshot.getChildren()) {
                    Log.d("inside snapshot", "snapshot not null");
                    String name = snapshot1.getValue().toString();
                    Log.d("user created", "snapshot not null");
                    try {
                        Log.d("name", name);
                        Log.d("decrypt", aes.Decrypt(name));
                    } catch (UnsupportedEncodingException e) {
                        Toast.makeText(EnterName.this, "Exception", Toast.LENGTH_LONG);
                        e.printStackTrace();
                    }
                    Toast.makeText(EnterName.this, "logged", Toast.LENGTH_LONG);
                }
            }
            else
            {
                Toast.makeText(EnterName.this,"doesnt exist", Toast.LENGTH_SHORT);
            }
        }

我得到了 dataSnapshot 存在的日志,但之后什么都没有。 Firebase 数据是

有人知道吗?谢谢。

【问题讨论】:

  • 请仅使用android-studio 标签来回答有关 Android Studio IDE 本身的问题。对于一般的 Android 编程问题,请使用android 标签。作为奖励,这还将为您问题中的代码启用正确的语法突出显示。
  • 感谢您告诉我。我看到你已经更新了标签

标签: android firebase firebase-realtime-database


【解决方案1】:

您正在收听的只是users/name 属性,这意味着您将获得带有键name 和字符串值"check" 的快照。字符串值没有任何子值,因此dataSnapshot.getChildren() 返回一个空列表。

要打印快照的值:

FirebaseDatabase.getInstance().getReference().child("users").child("name").addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull @NotNull DataSnapshot dataSnapshot) {
        if (dataSnapshot.exists()) {
            Log.d("dataSnapshot", dataSnapshot.getValue(String.class));
        }
        ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多