我在 Kotlin 中有一個簡單的待辦事項應用程式,我想在應用程式啟動時從 firebase 中的“任務”節點獲取資料。對于每個孩子,我想創建一個 Todo 物件。

var todo = Todo("child data here")
獲取特定任務
val database = FirebaseDatabase.getInstance()
val ref = database.getReference("task")
var todo = ref.child("task1").key?.let { Todo(it) }
if (todo != null) {
todoAdapter.addTodo(todo)
}
uj5u.com熱心網友回復:
我想得到所有的孩子,可以有三個以上。
如果要獲取特定節點的所有子節點,無論實際存在多少子節點,都應該使用getChildren()方法回圈該節點,如以下代碼行所示:
val db = FirebaseDatabase.getInstance().reference
val taskRef = db.child("task")
val valueEventListener = object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
for (ds in dataSnapshot.children) {
val value = ds.getValue(String::class.java)
Log.d("TAG", value)
//Create the desired object
var todo = Todo(value) //??
}
}
override fun onCancelled(error: DatabaseError) {
Log.d("TAG", error.getMessage()) //Never ignore potential errors!
}
}
taskRef.addListenerForSingleValueEvent(valueEventListener)
logcat 中的結果將是:
task1
task2
task3
.....
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/484111.html
標籤:安卓 火力基地 科特林 谷歌云平台 firebase-实时数据库
上一篇:如何撤銷按欄位值排序的檔案索引?
