从 android 中的 firebase 实时数据库获取数据
Get data from firebase realtime database in android
我正在尝试从 android 中的 firebase 实时数据库获取数据。我创建了一个 json 数据文件并在 firebase 数据库中导入了 json 文件。数据文件如下所示:
{
"data": [
{
"name" : "one",
"age" : "ten"
},{
"name" : "two",
"age" : "twenty"
}
]
}
我创建了一个 POJO class。现在如何从数组中获取所有 json objects ?我已经搜索了一段时间,但无法理解这里的参考 & child。
当您说 val fireDataBaseRef FirebaseDatabase.getInstance().reference.child("data")
时,您持有根树的引用。有了这个参考,你可以 fireDataBaseRef.addChildEventListener(childEventListener)
其中
val childEventListener: ChildEventListener = object : ChildEventListener {
override fun onCancelled(snapshot: DatabaseError?) {}
override fun onChildMoved(snapshot: DataSnapshot?, p1: String?) {}
override fun onChildChanged(snapshot: DataSnapshot?, p1: String?) {
}
override fun onChildAdded(snapshot: DataSnapshot?, p1: String?) {
// childs added
}
override fun onChildRemoved(snapshot: DataSnapshot?) {
}
}
只需将一些日志放入覆盖的函数中,您就会看到操作
我建议按如下方式更改您的 Firebase 结构:
- 将 [] 替换为 {},因为 Firebase 建议使用这种做法
- 为您在
data
节点中的每个用户(或项目)添加一个特定的唯一 ID。
举个例子:
如图所示,每个用户都有一个特定的 ID。 Firebase 为每个用户提供了一个唯一的 ID,您可以通过 String userId= user.getUid();
.
获得该 ID
您也可以创建唯一 ID 并使用 String key = Database.child("users").push().getKey();
获取它们(不建议用于用户 ID)
如果您想阅读您构建的数据,我建议您阅读 this。
另请阅读this。
我正在尝试从 android 中的 firebase 实时数据库获取数据。我创建了一个 json 数据文件并在 firebase 数据库中导入了 json 文件。数据文件如下所示:
{
"data": [
{
"name" : "one",
"age" : "ten"
},{
"name" : "two",
"age" : "twenty"
}
]
}
我创建了一个 POJO class。现在如何从数组中获取所有 json objects ?我已经搜索了一段时间,但无法理解这里的参考 & child。
当您说 val fireDataBaseRef FirebaseDatabase.getInstance().reference.child("data")
时,您持有根树的引用。有了这个参考,你可以 fireDataBaseRef.addChildEventListener(childEventListener)
其中
val childEventListener: ChildEventListener = object : ChildEventListener {
override fun onCancelled(snapshot: DatabaseError?) {}
override fun onChildMoved(snapshot: DataSnapshot?, p1: String?) {}
override fun onChildChanged(snapshot: DataSnapshot?, p1: String?) {
}
override fun onChildAdded(snapshot: DataSnapshot?, p1: String?) {
// childs added
}
override fun onChildRemoved(snapshot: DataSnapshot?) {
}
}
只需将一些日志放入覆盖的函数中,您就会看到操作
我建议按如下方式更改您的 Firebase 结构:
- 将 [] 替换为 {},因为 Firebase 建议使用这种做法
- 为您在
data
节点中的每个用户(或项目)添加一个特定的唯一 ID。
举个例子:
如图所示,每个用户都有一个特定的 ID。 Firebase 为每个用户提供了一个唯一的 ID,您可以通过 String userId= user.getUid();
.
您也可以创建唯一 ID 并使用 String key = Database.child("users").push().getKey();
获取它们(不建议用于用户 ID)
如果您想阅读您构建的数据,我建议您阅读 this。
另请阅读this。