我是Google Firebase的新手。在处理我的项目时,我有一个像这样的对象。
public class Travel implements Serializable {
private String title;
private String location;
private int duration;
private String description;
private ArrayList<String> tags;
private String dateAdded;
private int rating;
private int databaseID;
//getters and setters are the only methods
}
,我的Firebase数据库在上传数据后如下所示
上传数据的代码是:
FirebaseHandler fb = new FirebaseHandler();
fb.addOnline(travel);
现在我想制作一个ArrayList
使用firebase数据库中的数据。
我看了教程Here 但这是一个简单的2级层次结构。
我的问题是如何遍历 DataSanpshot 来创建ArrayList?
答案 0 :(得分:0)
基于我们的DataSnapshot
正在监听Firebase数据库中的数组,您可以这样迭代:
List<T> list = new ArrayList<>();
for (DataSnapshot item : dataSnapshot.getChildren()) {
list.add(item.getValue(YourObject.class));
}
注意你可以解析&#34; DataSnapshot值到您的具体域类。
答案 1 :(得分:0)
创建字符串类型dataType的arrayList,如下所示:
Query citiesQuery = databaseRef.child("cities").startAt(input).orderByValue();
citiesQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
List<String> cities = new ArrayList<String>();
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
cities.add(postSnapshot.getValue().toString());
}
希望它会帮助你..