android - 如何从 firebase 获取数据到数据模型?
问题描述
我是 Kotlin 的新手。我有一个数据类,其中包含名为 testModel 的图像 url。我需要使用该代码从 firebase 向模型添加数据:
这是我的数据模型: class testModel(val imageLinks: List<String>)
private val dbRef = FirebaseDatabase.getInstance().reference.child("categories").child("1").child("top")
fun readDataFromFirebase(){
dbRef.addValueEventListener(object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
var list = ArrayList<testModel>()
for (e in dataSnapshot.children){
println(e.value)
}
}
override fun onCancelled(databaseError: DatabaseError) {
Log.e("DB", "loadPost:onCancelled", databaseError.toException())
}
})
}
实际上这个块可以从firebase中获取价值,我可以在运行控制台中看到我的图像网址,但我不能在我的testModel上添加这些。我怎样才能做到?我还需要针对此类工作的良好教程,例如数据模型、使用 Kotlin 读取和写入数据。我在等你的建议。
PS:我已经尝试过getValue
方法但是给出了错误 java.lang。
解决方案
在您的数据类中,更改List<String>
为ArrayList<String>
, 因为该类型List<E>
在 firebase 中不存在,但数组存在。
将您的数据保存为Array<String>
Firebase,然后在检索快照时执行snapshot.toObject(TestModel::class)