如何在Android中从CloudFireStore获取集合中的对象列表?
如何获取“listTask” 我已尝试使用以下代码记录“document.data[“listTask”]”:如何在Android中从CloudFireStore获取集合中的对象列表?,android,firebase,kotlin,google-cloud-firestore,Android,Firebase,Kotlin,Google Cloud Firestore,如何获取“listTask” 我已尝试使用以下代码记录“document.data[“listTask”]”: db.collection("project").get() .addOnSuccessListener { result -> Log.d(TAG, "onRefresh: loadProject") for (document in result){ if (document.da
db.collection("project").get()
.addOnSuccessListener { result ->
Log.d(TAG, "onRefresh: loadProject")
for (document in result){
if (document.data["owner_id"]== id){
counter++
Log.d(TAG, "inside response: ${document.data["listTask"]}")
}
}
}
这是日志结果
D/YourProjectFragment: inside response: [{id=29356, title=Database, status=false}, {id=28581, title=UI UX, status=false}, {id=66044, title=Architecture Design, status=false}, {id=77830, title=Functional Test, status=false}]
我不知道响应的模式,我尝试了JSONArray
,但这不是JSONArray
那么,如何在CloudFireStore中获取集合中的对象列表呢
我试过jsonArray
,但那不是jsonArray
这显然不是一个JSONArray
,而是object类型的属性。除此之外,JSONArray
并不是一个好的选择
那么,如何在CloudFireStore中获取集合中的对象列表呢
不幸的是,您无法将listTask
属性直接映射到自定义对象列表中。您应该为此编写一些代码。listTask
属性实际上是HashMap对象的列表,正如您的响应所述:
response: [{id=29356, title=Database, status=false}, {id=28581, title=UI UX, status=false}, {id=66044, title=Architecture Design, status=false}, {id=77830, title=Functional Test, status=false}]
请参见,它以[
开始,以]
结束,这使它成为一个数组,数组中的每个对象都是一个哈希映射。因此,您需要遍历HashMap对象列表,并创建自己的“Task”
对象列表
如果您愿意,您可以联系Firebase团队并提出请求。那么如何迭代呢?我应该如何处理document.data[“listTask”]
我该如何处理它,我尝试将document.data[“listTask”]作为?数组
但我认为这不是正确的方法,应该是ArrayList
。因此,只要在该列表中有HashMap
对象,就可以使用迭代将它们中的每一个都取出来。