簡體   English   中英

如何從Firebase中檢索包含另一個字符串列表的完整對象列表?

[英]How to retrieve full List Of Objects from Firebase that contains another List of String in it?

我已經在Firebase上存儲了一些人員對象列表 。我想從數據庫中將這個完整的列表檢索到人員的新列表中 .perosn類包含另一個列表批次我的班級人員看起來像:

public class person {
public String name,sid;
public HashMap<String,String> batch;
public int cls;
}

我使用的代碼是:

    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference fDatabaseRoot = database.getReference("studentsList");
    fDatabaseRoot.orderByChild("name").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot areaSnapshot : dataSnapshot.getChildren()) {
                Map<String,person> td = 
                        (HashMap<String,person>)areaSnapshot.getValue();


               // arrayListStudent= (List<person>) td.values();
                 // Log.d("aaa1",arrayListStudent.toString());
            }
            //Log.d("aaa",arrayListStudent.toString());
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });

我哪里出錯了。請給出一些提示和建議。...這是我的數據庫結構的屏幕截圖:

屏幕截圖

請使用以下代碼:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference studentsListRef = rootRef.child("studentsList");
Query query = studentsListRef.orderByChild("name");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String name = ds.child("name").getValue(String.class);
            String key1 = ds.child("batch").child("0").getValue(String.class);
            String key2 = ds.child("batch").child("1").getValue(String.class);
            Log.d("TAG", name + " / " + key1 + " / " + key2);
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
query.addListenerForSingleValueEvent(eventListener);

這樣,您將在batch下獲得name和兩個字段的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM