【发布时间】:2022-02-21 23:52:50
【问题描述】:
我在 Studio 中遇到了 Firebase 查询问题。 我正在尝试抽象一个简单的查询以获取存储在集合中的对象列表(在我的情况下为“用户”) 我想创建一个存储在类中的函数,该函数可以被项目中的每个片段调用。 但是我没有找到任何方法可以做到这一点,重复相同的指令是唯一的方法吗? 这是一个例子
db.collection("users") //get all the users
.get()
.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
if(task.getResult() != null) {
for (QueryDocumentSnapshot document : task.getResult()) {
usersList.add(document.toObject(User.class));
} else {
Log.w(LOGIN, "Error getting documents.", task.getException());
}
});
我每次需要这些代码行时都会编写它们,但我想创建一个返回 List 的方法,如下例所示:
public static List<User> getUsers(FirebaseFirestore db) {
List<User> usersList = new ArrayList<>();
db.collection("users") //get all the users
.get()
.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
if(task.getResult() != null) {
for (QueryDocumentSnapshot document : task.getResult()) {
usersList.add(document.toObject(User.class));
} else {
Log.w(LOGIN, "Error getting documents.", task.getException());
}
});
} else {
//error
}
return usersList;
}
【问题讨论】:
标签: java android firebase google-cloud-firestore