将来自 Api 响应的数据添加到 Android 中的 Firebase 数据库中
Posted
技术标签:
【中文标题】将来自 Api 响应的数据添加到 Android 中的 Firebase 数据库中【英文标题】:Add data from Api response into Firebase Database in Android 【发布时间】:2019-10-04 16:05:49 【问题描述】:我想通过 android 中的 Volley API 响应将数据添加到 firebase 数据库。
"data": [
"id": 1,
"full_name": "abc",
"email": "abc999@gmail.com",
"country_code": "+91",
"phone": 2147483647,
"profile_pic": "",
"type": 0,
"status": 1,
"reset_token": "",
"verify_token": "$2y$10$YXCZ1yteimLatQnAszJTi.HOGDZrr9xjKJtIDNs3uagX3elFUlC.2",
"created_at": "2019-05-07 07:53:29",
"updated_at": "2019-05-08 12:57:45",
"deleted_at": null
,
"id": 2,
"full_name": "xyz",
"email": "xyz@gm.com",
"country_code": "+91",
"phone": 2147483647,
"profile_pic": "",
"type": 0,
"status": 1,
"reset_token": null,
"verify_token": "$2y$10$Dtk.BdqBgHFyGcpj9bHyI.JRPJlc90Qmhxx0Imm0Mzzd3x6QchDMi",
"created_at": "2019-05-07 08:34:39",
"updated_at": "2019-05-07 08:34:39",
"deleted_at": null
,
"id": 3,
"full_name": "abc",
"email": "abc@gmail.com",
"country_code": "091",
"phone": 123456,
"profile_pic": "",
"type": 0,
"status": 1,
"reset_token": "$2y$10$mT9MqON6gMre0rKtoK0ON.VApZYBZP0PY55uM017Cz74E69qBILjm",
"verify_token": "$2y$10$HMBteSyYTKZ3XgYviUdNORKOw1Bpan5m0UcqIyx3dZrYUsNajou",
"created_at": "2019-05-07 08:47:29",
"updated_at": "2019-05-17 05:55:00",
"deleted_at": null
]
现在我希望 Firebase 数据看起来像这样
firebasedemo
.
+ Users
.
. . name:"abc"
我在 Api call For 循环中写下这一行 Rootref= FirebaseDatabase.getInstance().getReference(); Rootref.child("Users").child("name").setValue(name);
但我在 firebase 中只获得了一条记录,而不是全部
任何帮助将不胜感激
【问题讨论】:
有什么问题? Rootref= FirebaseDatabase.getInstance().getReference(); Rootref.child("Users").child("name").setValue(name);这个说法对吗?因为我在 firebase 中只获得了一条记录。name
是什么,也将您的 Firebase 规则更改为 true
已经这样做了。 name 指 api 响应中的 full_name 字段
制作如下内容: Rootref.child("Users").child(user.getName()).setValue(name);如果您在 child.("name") 上设置值,您将每次都覆盖此值。 “名称”应该是唯一的。
【参考方案1】:
尝试以下方法:
DatabaseReference rootref = FirebaseDatabase.getInstance().getReference();
rootref.child("Users").push().setValue(name);
来自docs:
public DatabaseReference push ()
创建对自动生成的子位置的引用。子密钥在客户端生成,并包含服务器时间的估计以用于排序目的。在单个客户端上生成的位置将按照它们创建的顺序进行排序,并且将在所有客户端中大致按顺序进行排序。
【讨论】:
您好,我将此语句放在 API 调用的 for 循环中。所以每次执行for循环时都会添加数据。你能指导我如何检查我的数据是否存在。我正在关注这个***.com/a/41646772/9465933,但它没有发生。 @彼得哈达德 @jeetdeveloper 请在另一个问题中询问它,提供您正在使用的代码的 sn-p 并在此处@我,以便我可以检查您的问题以上是关于将来自 Api 响应的数据添加到 Android 中的 Firebase 数据库中的主要内容,如果未能解决你的问题,请参考以下文章