首页 > 解决方案 > 如何在 firebase 数据库中检索特定子项的数据 - android studio/java?

问题描述

我想检索特定孩子的数据,我该如何编写代码?我尝试了很多,但没有成功:“([就像在我的数据库中一样,如何获取特定孩子(如 lubna)的任务并获取所有孩子?

标签: javaandroidfirebaseandroid-studiofirebase-realtime-database

解决方案


初始化类变量:

private DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();
private DatabaseReference  lubnaRef = mDatabase.child("tasks/Lubna");

然后出于测试目的,我假设您在onCreate活动方法中调用它,假设您没有数据模型,您将添加以下内容:

lubnaRef.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        //These are all of your children.
        Map<String, Object> lubna = (Map<String, Object>) dataSnapshot.getValue();


        for (String childKey: lubna.keySet()) {
            //childKey is your "-LQka.. and so on"
            //Your current object holds all the variables in your picture.
            Map<String, Object> currentLubnaObject = (Map<String, Object>) lubna.get(childKey);

            //You can access each variable like so: String variableName = (String) currentLubnaObject.get("INSERT_VARIABLE_HERE"); //data, description, taskid, time, title
        }
   }

   @Override
   public void onCancelled(DatabaseError databaseError) {

   }
});

推荐阅读