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

android – 从Firebase数据库中检索特定数据

我正在使用Firebase数据库JavaAndroid上创建一个聊天应用程序.无论何时用户首次注册,它都会在节点user / UserID / profile / username下将其用户名存储到数据库中.用户名使用User类存储.这是存储用户名值的位置.但是,当我尝试类似的东西

mDatabase.child("users").child(UserID).child("profile").child("username").toString();

这给了我用户名的路径,但没有用户名本身.有谁知道如何获取用户名本身的价值?

编辑:我跑的时候给了我一个错误

DataSnapshot.child("users").child(mUserID).child("profile").child("username").getValue().toString();

以下是我的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());
    }
});

您可以在Firebase website上找到更多信息和示例.请注意,您没有请求从Firebase获取数据.您将侦听器附加到子项,然后从侦听器获取数据.此示例假定您具有Profile模型,并具有获取用户名方法.这将返回您的Profile对象,并使您能够从该对象获取所需的任何数据.

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

相关推荐