android-dataSnapshot有对象,但getValue()将返回null

android-dataSnapshot有对象,但getValue()将返回null,第1张

概述因此,我现在正为这个问题苦苦挣扎约三个小时.我有这个用户类别publicclassUser{privateStringuser_id;privateStringuserName;privatelongphoneNumber;publicUser(){}publicUser(Stringuser_id,StringuserName,longphoneNumber){this.user_id=

因此,我现在正为这个问题苦苦挣扎约三个小时.
我有这个用户类别

public class User {private String user_ID;private String username;private long phoneNumber;public User() {}public User(String user_ID, String username, long phoneNumber) {    this.user_ID = user_ID;    this.username = username;    this.phoneNumber = phoneNumber;}

我想从Firebase数据库中获取此类的某些实例,我正在使用以下代码来做到这一点:
 数据库参考;

User currentUser;DatabaseReference database = FirebaseDatabase.getInstance().getReference(); DatabaseReference usersRef = database.child("users");

查询代码:

query query = usersRef.orderByChild("user_ID").equalTo(user_ID);                query.addListenerForSingleValueEvent (new ValueEventListener() {                    @OverrIDe                    public voID onDataChange(DataSnapshot dataSnapshot) {                         currentUser = dataSnapshot.getValue(User.class);}

有趣的是:这段代码实际上只工作过一次,但是我猜我做了一些更改,现在getValue()返回null.

 这是我在firebase中的数据库


当我调试应用程序时,dataSnapshot实际上包含了我正在寻找的对象

但是currentUser将是一个其所有字段为null的对象;

有任何想法吗?我已经很沮丧了:(
提前致谢!

解决方法:

您需要遍历dataSnapshot.getChildren(…例如

                for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {                    User user = childSnapshot.getValue(User.class);                 }
总结

以上是内存溢出为你收集整理的android-dataSnapshot有对象,但getValue()将返回null全部内容,希望文章能够帮你解决android-dataSnapshot有对象,但getValue()将返回null所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1093846.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存