Mat*_*ham 7 android firebase firebase-realtime-database
我正在使用 Firebase 数据库和 Java 在 android 上创建一个聊天应用程序。每当用户第一次注册时,它都会将他们的用户名存储到节点下的数据库中user/UserID/profile/username。用户名使用 User 类存储。这是存储用户名值的地方。但是,当我尝试类似的东西时
mDatabase.child("users").child(UserID).child("profile").child("username").toString();
Run Code Online (Sandbox Code Playgroud)
这给了我用户名的路径,而不是用户名本身。有人知道如何获取用户名本身的值吗?
编辑:当我运行时它给了我一个错误
DataSnapshot.child("users").child(mUserID).child("profile").child("username").getValue().toString();
Run Code Online (Sandbox Code Playgroud)
这是我的 Firebase 数据库在 UserID 下显示的内容。

您没有正确获得价值。您需要为您的孩子附加一个监听器并获取更新。你这样做:
// Get a reference to your user
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("server/path/to/profile");
// Attach a listener to read the data at your profile reference
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Profile profile = dataSnapshot.getValue(Profile.class);
System.out.println(profile.getUsername());
}
@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("The read failed: " + databaseError.getCode());
}
});
Run Code Online (Sandbox Code Playgroud)
您可以在 Firebase网站上找到更多信息和示例。请记住,您不会请求从 Firebase 获取数据。您将侦听器附加到子级,然后从侦听器获取数据。这个例子假设你有一个Profile模型,有一个方法来获取用户名。这将返回您的Profile对象,并使您能够从该对象中获取所需的任何数据。
| 归档时间: |
|
| 查看次数: |
17936 次 |
| 最近记录: |