如何解决如何在 Java 中从 Firebase 读取数据到 android studio
这是我的代码:
下面是我的数据库:
我想从数据库中读取数据,但失败了。
解决方法
正如我在您的屏幕截图中看到的,“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 举报,一经查实,本站将立刻删除。