FireBase Android需要在单个用户

时间:2016-12-29 22:22:36

标签: android firebase firebase-realtime-database

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

-Users

--- MF0qeRA4p7djfjgXxqwFOck3m6p02

------ ITEM1: “1”

------ ITEM2: “2”

------项目3: “3”

------ ITEM4: “4”

2 个答案:

答案 0 :(得分:2)

根据我可以识别的是,您正面临从此引用中检索数据的问题。这是代码:

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) {

                        }
                    });

希望这有帮助。

答案 1 :(得分:0)

您可以创建自定义模型,在里面可以插入元素。像这样:

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

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

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