android - 在地图 Kotlin 中检索地图
问题描述
我的数据结构为:
val drinks = hashMapOf(
"cola" to hashMapOf(
"price" to 36,
"amount" to 15
)
)
我使用 Firestore 并想检索价格。
db.collection("category").document("drinks").get()
.addOnSuccessListener {documentSnapshot->
documentSnapshot.data?.forEach {
//it -> Map.Entry<String!,Any!>
Log.d(TAG, "for each data: ${it.key} ${it.value}")
}
if (documentSnapshot != null && documentSnapshot.exists()) {
Log.d(TAG, "read data: ${documentSnapshot["sultan"]}")
} else {
Log.d(TAG, "Current data: null")
}
}
我试图将其转换为对象列表,但没有任何帮助
解决方案
在 kotlin 中使用 Firebase 处理数据的更好方法。
.addOnSuccessListener { docsSnapshot ->
for (docSnapshot in docsSnapshot.documents) {
val hashmap = docSnapshot.data
hashmap?.put("id", docSnapshot.id)
Log.e("hashmap", hashmap) // This hashmap holds your document id and rest of data.
val Data = Gson().toJson(hashmap)
val docsData = Gson().fromJson<Drinks>(Data, Drinks::class.java)
Log.e("docsData", docsData) // Now you can access what type of data you need.
}
}
POKO 对于您的数据:
class Drinks{
val id : String,
val amount : Long,
val price : Long,
}
推荐阅读
- javascript - 虚拟加载网站,运行操作,重新加载
- r - 为每个学生 ID 分配多个日期
- kubernetes - 如何检查 kubernetes 中下载的图像(我在 kubernetes yaml 文件中使用图像)?或者,什么类似于 Kubernetes 中的 'docker images' cmd?
- latitude-longitude - 如何计算两对坐标(纬度/经度)之间的距离
- mysql - 使用临时表请求 MYSQL 帮助
- jenkins - 截至 2019 年 2 月 18 日,还有其他人的 cypress.io 测试开始失败吗?
- c++ - 告诉用户只允许整数
- javascript - WebAssembly 应用程序的 api 密钥安全性
- google-cloud-platform - Google Cloud Platform 中的 Project Browser 角色和 Project Viewer 角色有什么区别
- html - 当我将类属性放在表单标签中时,我的“style.css”文件不起作用