无法将 JSON 对象插入 Firebase 实时数据库

2024-02-16

我正在尝试将用户数据存储在我的 Firebase 数据库中。这是我处理 onClick 并将数据发送到数据库的代码:

public void onClickStore(final View view)
{
    String name = binding.getUser().name.get();
    String email = binding.getUser().email.get();

    DatabaseReference rootDb = FirebaseDatabase.getInstance().getReference();
    DatabaseReference usersDatabase = rootDb.child("Users");

    Map<String, JSONObject> userMap= new HashMap<>();
    JSONObject userObject = new JSONObject();

    try
    {
        userObject.put("Name", name);
        userObject.put("Email", email);
    }
    catch (JSONException e)
    {
        e.printStackTrace();
    }

    userMap.put("User_01", userObject);

    usersDatabase.setValue(userMap);

}

不幸的是,应用程序在尝试执行最后一行代码(将地图插入实时数据库)时不断崩溃。有趣的是,当我对要插入的数据进行硬编码但不使用其中任何一个时,它会起作用userMap or userObject.

这是 Android Monitor 的错误描述:

03-19 08:20:34.937 22378-22378/com.example.jacek.simplyfootball E/AndroidRuntime:致命异常:main 进程:com.example.jacek.simplyfootball,PID:22378 com.google.firebase.database.DatabaseException:没有属性 在类 org.json.JSONObject 上找到序列化 在 com.google.android.gms.internal.zzbqi$zza。(来源不明) 在 com.google.android.gms.internal.zzbqi.zzi(来源未知) 在 com.google.android.gms.internal.zzbqi.zzax(来源未知) 在 com.google.android.gms.internal.zzbqi.zzax(来源未知) 在 com.google.android.gms.internal.zzbqi.zzaw(来源未知) 在 com.google.firebase.database.DatabaseReference.zza(来源未知) 在 com.google.firebase.database.DatabaseReference.setValue(未知 来源) 在 com.example.jacek.simplyfootball.RegisterActivity.onClickStore(RegisterActivity.java:89) 在 com.example.jacek.simplyfootball.databinding.ActivityRegisterBinding$OnClickListenerImpl.onClick(ActivityRegisterBinding.java:290) 在 android.view.View.performClick(View.java:5198) 在 android.view.View$PerformClick.run(View.java:21147) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

我们将非常感谢您的帮助。 谢谢


我不明白你真正想做什么但是..

代替

JSONObject userObject = new JSONObject();

您可以在用户上创建模型

public class Usermodel {

    String Name,Email;

    public Usermodel(String name, String email) {
        Name = name;
        Email = email;
    }

    public Usermodel() {
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }

    public String getEmail() {
        return Email;
    }

    public void setEmail(String email) {
        Email = email;
    }
}

并创建新对象

Usermodel model = new Usermodel();
model.setname("");
model.setEmail("");

并继续你的代码

如果您需要,Firebase 将创建它的主键

YourFirebaseRef.child("users").push().setValue(model); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法将 JSON 对象插入 Firebase 实时数据库 的相关文章

随机推荐

  • boost::asio 和套接字所有权

    我有两个类 谈判者 客户端 都有自己的 boost asio ip tcp socket 有没有办法在协商完成后将套接字对象传输给客户端 我期待着做这样的事情 boost asio ip tcp socket sock1 io boost
  • 如何将请求(python)cookie保存到文件中?

    如何使用图书馆requests 在Python中 请求之后 usr bin env python coding utf 8 import requests bot requests session bot get http google c
  • RcppArmadillo 伽马分布在具有相同种子的平台之间有所不同

    我正在研究一套 https github com osorensen BayesMallows 它使用来自 RcppArmadillo 的随机数 该软件包运行 MCMC 算法 为了获得精确的再现性 用户应该能够设置随机数种子 这样做时 看起
  • 如何让django使用电子邮件而不是用户名注册用户

    我正在尝试创建一个使用名字 姓氏 电子邮件和密码注册用户的网站 我尝试编写此表单并在视图中使用它 from django import forms from django contrib auth models import User fr
  • 在循环的括号内定义循环变量可以吗?

    我对 C 很陌生 但在 C 方面有很多经验 我的大学老师告诉我 在 纯 C 中 初始化循环变量是错误的 在循环括号内 他说是因为VS编译器才运行的 由于某些原因 演示文稿中的所有材料还显示了循环 其循环变量在括号之外声明 for int i
  • C# Selenium:单击 iframe 下的按钮

    我的网站下有一个 iframe 模式 我正在尝试单击按钮 但我无法这样做 下面是我的代码 请告诉我 我错过了什么 driver SwitchTo Frame driver FindElement By Id iframeid frame n
  • 如何从没有上下文的类中调用 getResources() ?

    在我的申请中 我有很多课程和活动 Droid 是一个没有上下文的类 Mygame 是一个扩展 SurfaceView 并实现 SurfaceHolder Callback 的类 我正在 mygame 类中创建一个 Droid 对象 并为其设
  • Android Spinner 上的多个 AsyncTasks 问题

    我收到一些错误 我知道问题是什么 但我不知道如何解决 我有4个旋转器 每个微调器都关联一个异步任务 简而言之 当我在 spinner1 上选择一项时 执行填充 spinner2 的第二个 asynctask 所选项目作为参数添加到第二个 a
  • C# 找不到网络路径

    我在通过网络将文件写入远程目录时遇到问题 当我尝试检查目录是否存在时 以下代码失败 if Directory Exists processingPath Directory CreateDirectory processingPath 处理
  • docker 在应该使用 v2 时却使用了 v1 注册表 api

    我正在尝试使用自托管 docker 注册表 v2 我应该能够推送 docker 映像 该映像在运行registry v2 容器的主机服务器 coreos 上本地工作 但是 在另一台机器 也是 coreos 相同版本 上 当我尝试推送到注册表
  • 使用 C# 中的静态类通过事件通知其他订阅者的简单状态机

    我一直在尝试为我的应用程序编写一个简单的静态类状态机 以便在系统状态更改时通知其他控件和代码 我想我几乎已经解决了 但我遇到了一个小问题 我不知道如何解决 这是代码 An enum denoting the 3 States public
  • 使用 Peewee 库批量更新

    我正在尝试使用更新表内的许多记录Peewee图书馆 里面一个for循环 我获取一条记录 然后更新它 但这在性能方面听起来很糟糕 所以我需要批量更新 当前代码如下所示 usernames to update get target userna
  • Android Firebase:设置值不起作用

    我正在尝试通过以下代码向 Firebase 数据库添加测试值 FirebaseDatabase database FirebaseDatabase getInstance DatabaseReference ref FirebaseData
  • 函数式 JavaScript:避免参数突变的良好实践?

    这是一个相当普遍的问题 函数式编程提倡这样的想法 程序是通过函数转换数据 并且应该避免突变 函数内可能除外 函数内被视为抽象的基本单元 但在这个程序中 function foo bar bar k1 bananas return bar v
  • 如何导入子目录中的模块,从而导入同一子目录中的另一个模块?

    在我导入的模块中 我尝试导入位于同一目录中的另一个模块 我的文件看起来像这样 project main py app foo py bar py main py import app foo as Foo foo py import bar
  • UnityWebRequest 在 iOS 中不工作

    给出的例子https docs unity3d com Manual UnityWebRequest html https docs unity3d com Manual UnityWebRequest html正如预期的那样 可以在 Wi
  • 为什么我们在使用Ajax控件时总是需要脚本管理器?

    为什么我们在使用Ajax控件时总是需要脚本管理器 脚本管理器控件是将脚本发送到客户端的控件 该控件是所有 AJAX 相关功能的核心 它管理启用 Ajax 的页面中的所有控件 它还确保部分页面更新按预期发生 http msdn microso
  • 如何从任何 Docker 存储库中提取单个映像?

    docker 存储库包含多个镜像 是否可以从存储库中提取特定图像 当我使用时 docker pull ubuntu 它会下载大约 8 10 个不同版本的 ubuntu 如果有标记的特定图像 您可以使用 tag 或 t 运算符来提取您要查找的
  • Android 加速度计过滤?

    我看到了许多关于过滤加速度计值以抵消重力 高通滤波器 的示例 但其中大多数都是一阶一阶 据说很简单 但是滞后 而且不是最好的 尽管我对滤波器或 DSP 一无所知 这里有人说有更好的解决方案用于DSP来感知运动 遗憾的是 我什至无法想象它会是
  • 无法将 JSON 对象插入 Firebase 实时数据库

    我正在尝试将用户数据存储在我的 Firebase 数据库中 这是我处理 onClick 并将数据发送到数据库的代码 public void onClickStore final View view String name binding g