微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Java 中从 Firebase 读取数据到 android studio

如何解决如何在 Java 中从 Firebase 读取数据到 android studio

这是我的代码

enter image description here

下面是我的数据库

enter image description here

我想从数据库中读取数据,但失败了。

解决方法

正如我在您的屏幕截图中看到的,“users”节点下的所有 ID 实际上都是由 DatabaseReference 的 push() 方法提供的推送 ID,而不是来自认证过程。所以当你在数据库中添加一个“User”对象时,不要使用“push()”方法,请使用以下几行代码:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("users");
DatabaseReference uidRef = usersRef.child(uid);
uidRef.setValue(userObj);

要取回数据,您的实际代码可能保持不变。它会工作得很好。

P.S. 不要忽视错误。使用:

Log.d(TAG,databaseError.getMessage());

在您的“onCancelled()”方法中,而不是盲目地认为一切正常。 “databaseError”对象可能包含可用于调试应用的有用信息。

,

首先你应该复制代码而不是照片

为了回答

您应该添加查询变量

DatabaseReference firebaseDatabase = FirebaseDatabase.getInstance().getReference();
    Query query = firebaseDatabase.child("users").child(userid);
    query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            String name = snapshot.child("name").getValue().toString();
            String email = snapshot.child("email").getValue().toString();
            String phone = snapshot.child("phone").getValue().toString();
    
    profileName.setText(name);
    profileEmail.setText(email);
    profilePhone.setText(phone);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {
            Log.d("firebasename","error");
        }
    });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?