【问题标题】:FireBase Android Need 1 value saved under a single userFireBase Android 需要 1 个值保存在单个用户下
【发布时间】:2016-12-29 22:22:35
【问题描述】:

我在 Firebase 上有以下用户 MF0qeRA4p7djfjgXxqwFOck3m6p02 的数据结构。我想获取 item3 的值以将单个字段填充到 Android 应用程序的用户界面中。我一直在查看 Stackoverflow 上的示例,但我发现的所有示例都已过时,并且不适用于当前版本的 firebase。我完全是firebase的新手,这是我在android上的第一个应用程序。我有 oncreate user 方法来填充用户电子邮件地址并添加 4 个项目字段,但检索数据我完全丢失了,我什至不知道从哪里开始。

-用户

---MF0qeRA4p7djfjgXxqwFOck3m6p02

-----item1:"1"

-----item2:"2"

-----item3:"3"

-----item4:"4"

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    据我所知,您在从此参考中检索数据时遇到问题。代码如下:

    final DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Users");
    
    databaseReference.child("MF0qeRA4p7djfjgXxqwFOck3m6p02").addListenerForSingleValueEvent(new ValueEventListener() {
                            @Override
                            public void onDataChange(DataSnapshot dataSnapshot) {
                                Map<String, Object> map=(Map<String, Object>)dataSnapshot.getValue();
                                String item3=(String)map.get("item3");
                                display(item3);
                            }
    
                            @Override
                            public void onCancelled(DatabaseError databaseError) {
    
                            }
                        });
    

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您可以创建自定义模型并在其中插入元素。像这样的:

      public class Item {
          private List<Object> ojects;
      }
      

      你可以在数据库中保存 Item 的实例。在这种情况下,您有更多的控制权。另一种情况是使用push() 方法,它将生成一个新的编码密钥,如下所示:

      mDatabase.child("items").push().put(new Object());
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-14
        • 2013-04-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-18
        相关资源
        最近更新 更多