java getdocumentbase_java – Firebase Firestore从集合中获取数据

我想从Firebase Firestore数据库中获取数据.我有一个名为user的集合,每个用户都有一些相同类型的对象(My

Java自定义对象)的集合.我想在创建Activity时用这些对象填充我的ArrayList.

private static ArrayList mArrayList = new ArrayList<>();;

在onCreate()中:

getListItems();

Log.d(TAG, "onCreate: LIST IN ONCREATE = " + mArrayList);

*// it logs empty list here

调用获取项目列表的方法:

private void getListItems() {

mFirebaseFirestore.collection("some collection").get()

.addOnSuccessListener(new OnSuccessListener() {

@Override

public void onSuccess(QuerySnapshot documentSnapshots) {

if (documentSnapshots.isEmpty()) {

Log.d(TAG, "onSuccess: LIST EMPTY");

return;

} else {

for (DocumentSnapshot documentSnapshot : documentSnapshots) {

if (documentSnapshot.exists()) {

Log.d(TAG, "onSuccess: DOCUMENT" + documentSnapshot.getId() + " ; " + documentSnapshot.getData());

DocumentReference documentReference1 = FirebaseFirestore.getInstance().document("some path");

documentReference1.get().addOnSuccessListener(new OnSuccessListener() {

@Override

public void onSuccess(DocumentSnapshot documentSnapshot) {

Type type= documentSnapshot.toObject(Type.class);

Log.d(TAG, "onSuccess: " + type.toString());

mArrayList.add(type);

Log.d(TAG, "onSuccess: " + mArrayList);

/* these logs here display correct data but when

I log it in onCreate() method it's empty*/

}

});

}

}

}

}

}).addOnFailureListener(new OnFailureListener() {

@Override

public void onFailure(@NonNull Exception e) {

Toast.makeText(getApplicationContext(), "Error getting data!!!", Toast.LENGTH_LONG).show();

}

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值