android - 以编程方式在实时数据库中导入 JSON,而不是手动
问题描述
我希望能够使用我的应用程序中的按钮将 JSON 文件导入 Firebase。我知道您可以在 Firebase 控制台中手动添加 JSON 文件,但在这种情况下,我想让我的用户使用按钮导入 JSON 文件并更新实时数据库中的信息。有人能帮我吗?
解决方案
我希望能够手动将 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(/* ... /*)
推荐阅读
- php - Laravel Group & Count by Eloquent 关系
- apostrophe-cms - 使用光标时动态重新定义连接投影
- node.js - MaxListenersExceededWarning:检测到可能的 EventEmitter 内存泄漏
- python - Python urllib wget 保存完整页面
- google-bigquery - 有没有办法在 bigquery 中使用 GROUP BY 做通配符?
- swift - 无法使用非集合对象执行集合评估
- css - 如何删除节点的突出显示颜色
- r - R根据条件从向量随机分配不同的值到数据框列
- java - 获取总和与给定数字匹配的连续数字
- android - 哪个更适合 Android MVVM 按功能打包或按层打包?