首页 > 解决方案 > 以编程方式在实时数据库中导入 JSON,而不是手动

问题描述

我希望能够使用我的应用程序中的按钮将 JSON 文件导入 Firebase。我知道您可以在 Firebase 控制台中手动添加 JSON 文件,但在这种情况下,我想让我的用户使用按钮导入 JSON 文件并更新实时数据库中的信息。有人能帮我吗?

标签: androidjsonfirebasekotlinfirebase-realtime-database

解决方案


我希望能够手动将 JSON 文件导入 Firebase

没有 API 可以做到这一点。如果您想让用户能够将 JSON 文件的内容添加到实时数据库,那么您应该为此编写一些代码。这意味着您需要实现一个选项,在该选项中用户可以将 JSON 文件上传到本地存储,然后在您的应用程序代码中,您应该读取文件并将数据作为 JSON 字符串获取。要将其转换为地图,您可以简单地使用:

val jsonObj = JSONObject(jsonString)
val map = jsonObj.toMap()

现在,要将此 Map 对象写入实时数据库,位于对应于特定用户的位置,假设您正在使用Firebase 身份验证,请使用以下代码行:

val uid = FirebaseAuth.getInstance().currentUser?.uid
val rootRef = FirebaseDatabase.getInstance()
val uidRef = rootRef.child("users").child(uid)
uidRef.setValue(map).addOnCompleteListener(/* ... /*)

推荐阅读