ANDROID FirebaseDatabase:无法保存对象

2023-11-26

我无法将对象添加到 firebase 实时数据库。我尝试了以下代码。但是当这段代码执行时

db.child("Users").setValue(person); 

我的应用程序崩溃了

public class Person{
   String fname;
   String lname;
   Person()
   {}
   Person(String fname,String lname)
   {
       this.fname = fname;
       this.lname = lname;
   }

   public String getFname() {
       return fname;
   }

   public String getLname() {
       return lname;
   }
}

这是错误。

11-20 15:34:57.762 2752-2752/shazdroid.com.surveyapp E/AndroidRuntime: 致命异常:主要 进程:shazdroid.com.surveyapp,PID:2752 com.google.firebase.database.DatabaseException:发现冲突 名称的 getter:isChangingConfigurations 在 com.google.android.gms.internal.zzamy$zza。(来源不明) 在 com.google.android.gms.internal.zzamy.zzj(来源未知) 在 com.google.android.gms.internal.zzamy.zzca(来源未知) 在 com.google.android.gms.internal.zzamy.zzch(来源未知) 在 com.google.android.gms.internal.zzamy$zza.zzci(来源未知) 在 com.google.android.gms.internal.zzamy.zzca(来源未知) 在 com.google.android.gms.internal.zzamy.zzbz(来源未知) 在 com.google.firebase.database.DatabaseReference.zza(来源未知) 在 com.google.firebase.database.DatabaseReference.setValue(未知 来源) 在 shazdroid.com.surveyapp.AddMember.savePerson(AddMember.java:207) 在 shazdroid.com.surveyapp.AddMember.access$000(AddMember.java:37) 在 shazdroid.com.surveyapp.AddMember$6.onClick(AddMember.java:193) 在 android.view.View.performClick(View.java:5610) 在 android.view.View$PerformClick.run(View.java:22260) 在 android.os.Handler.handleCallback(Handler.java:751) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6077) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

这是我保存对象的方法。

    private void savePerson() {
    suc.show();
    Person person = new Person("shahbaz","ansari");
    db.child("User").setValue(person)
            .addOnCompleteListener(AddMember.this, new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if(task.isSuccessful())
            {
                suc.dismissWithAnimation();
                suc = new SweetAlertDialog(AddMember.this,SweetAlertDialog.SUCCESS_TYPE);
                suc.setTitleText("Successful");
                suc.setContentText("Saving data successful");
                suc.setConfirmText("OK");
                suc.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
                    @Override
                    public void onClick(SweetAlertDialog sweetAlertDialog) {
                        sweetAlertDialog.dismissWithAnimation();
                    }
                }).show();
            }else{
                suc.dismissWithAnimation();
                suc = new SweetAlertDialog(AddMember.this,SweetAlertDialog.ERROR_TYPE);
                suc.setTitleText("Failed");
                suc.setContentText("Failed to save data");
                suc.setConfirmText("Try Again");
                suc.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
                    @Override
                    public void onClick(SweetAlertDialog sweetAlertDialog) {
                        savePerson();

                    }
                });
                suc.setCancelText("cancle");
                suc.setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {
                    @Override
                    public void onClick(SweetAlertDialog sweetAlertDialog) {
                        sweetAlertDialog.dismissWithAnimation();
                    }
                }).show();
            }
        }
    });


堆栈跟踪指的是isChangingConfigurations,这是一个方法的名称Activity。这可能表明您已经声明了类Person作为活动的内部类。当 Firebase 序列化时Person它还尝试序列化封闭的 Activity 类并失败。

移动声明Person到包级别或更改声明以使其成为静态内部类:public static class Person.

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

ANDROID FirebaseDatabase:无法保存对象 的相关文章

随机推荐

  • Python 动态函数名

    我正在寻找一种更好的方法来调用基于 Python 中的变量的函数 而不是使用如下的 if else 语句 每个状态码都有对应的功能 if status CONNECT return connect args kwargs elif stat
  • 如何将 Jsoup 文档转换为 W3C 文档?

    我通过解析内部 HTML 页面构建了一个 Jsoup 文档 public Document newDocument String path throws IOException Document doc null doc Jsoup con
  • Datatables + PHP:多个表的服务器端处理

    如何获取数据表服务器端处理脚本来处理自定义查询 我需要从多个表中选择列并让数据表呈现它们 Datatables net 使用 PHP 的服务器端处理 SSP 总结如下 https datatables net examples server
  • 检测浏览器是否处于全屏模式

    有什么方法可以可靠地检测浏览器是否以全屏模式运行 我很确定没有任何浏览器 API 可以查询 但是有人通过检查和比较 DOM 公开的某些高度 宽度测量值来解决这个问题吗 即使它只适用于某些浏览器 我也有兴趣了解它 Chrome 15 Fire
  • Paho MQTT Android 服务唤醒活动

    我正在尝试使用 Paho Android MQTT 库 从这里下载的 例子服务申请工作正常 订阅和publish当示例应用程序运行时 方法也可以正常工作 当我close它 设备不再接收消息通知 有谁有如何正确修改 实现服务以接收消息的经验
  • 在 Pig 中将一个元组拆分为多个元组

    我喜欢从单个元组生成多个元组 我的意思是 我有包含以下数据的文件 gt gt cat data ID ColumnName1 Value1 ColumnName2 Value2 所以我通过以下命令加载它 grunt gt gt A load
  • php time() 和 microtime() 有时不一致

    在使用 microtime 使用 PHP 5 记录一些数据时 我遇到了一些与日志文件的时间戳似乎略有不同相的值 因此我只是尝试比较 time 和 microtime 的输出使用一个简单的脚本 usleep只是为了限制数据输出
  • ASP.NET:将值从用户控件传递到页面?

    我正在 ASP NET 使用 VB 中创建一个用户控件 该控件使用文本框上的自动完成 ajax 控件来获取值 然后我希望页面回发并根据从此控件传递给它的任何值运行一些代码 问题是 我不太确定如何做到这一点 我确信这很容易 我应该知道 但我不
  • 让ListView滚动到所选项目

    我有一个 WinRT C XAML 应用程序 其视图具有垂直的项目列表视图 根据项目的数量 ListView 显示垂直滚动条 这是 XAML 定义
  • D3.js强制有向图,每组颜色不同?

    我用 d3 js 插件制作了一个力导向图 我想根据节点和标签所属的组为节点和标签着色 我添加了颜色比例 var color d3 scale category20 并添加到节点变量 style fill function d return
  • 析构函数和垃圾收集器之间的区别

    我想知道析构函数和垃圾收集器之间有什么区别 析构函数用于在应用程序生命周期结束时处理所有未使用的对象 垃圾收集器的使用也是如此 垃圾收集器可以手动调用或完成在应用程序结束时 与析构函数相同 两者都是可选的 用于处理未引用的对象 任何人都可以
  • 使用自动属性实现单例是一个好主意吗?

    我最近发现了汽车属性并且非常喜欢它们 目前我正尝试在任何可以的地方使用它们 不仅仅是为了能够在任何地方使用它们 更多的是为了看看它们在大多数情况下的工作效果如何 现在我正在创建一个单例并想 嘿 让我们在这里也尝试一下自动属性 public
  • 使用 Winium 实现“Chrome Legacy Window”(Chromium) 的自动化

    我正在尝试使用 Winium 自动化 Windows 应用程序 GUI 该应用程序同时使用 WPF 窗口和 Chrome Legacy Window Chromium 窗口 我正在使用该工具 自动化间谍 检查 WPF 窗口内 GUI 元素的
  • PHP Codeigniter:下拉菜单上的 set_value

    我有以下观点 但我该如何申请set value没有默认为请选择
  • python中的“全局名称未定义”概念

    我正在学习Python并阅读了有关此错误的博客 但我仍然无法清楚地理解这一点 这是我正在编写的代码片段 for i in included global signs accounts regions global sign name acc
  • 使用 Windows 打印图像对话框打印图像

    我知道如何使用 PrintDocument 打印图像 但是 我想使用默认的 Windows 打印功能打印我的图像 就像当你右键单击图像并单击打印时 会出现一个对话框 允许你设置尺寸 选择打印机等 有谁知道如何在 C 中实现这一点 我必须使用
  • 如何将操作字符串传递到 JSF 2 复合组件中?

    我正在 JSF 2 中创建一个简单的菜单复合组件 但是 我无法将 String 属性传递到复合组件中以在 的操作属性中使用 我的组件看起来像
  • WCAG 2.0 A 级和 AJAX 生成的内容

    我很难找到明确的答案 如果网站以某种方式使用 AJAX 它是否可以至少通过 WCAG 2 0 A 级 For WCAG 2 0 示例 states 我可以使用 Javascript Ajax Flash PDF Silverlight 和其
  • 非有限差分值,很多数据经过指数化后变成inf和NA

    我将找到排序逻辑模型的参数 但误差总是表明存在非有限的有限差分值 如果我改变 b0 cjll lt function b U lt X b lSU lt csm exp U lSU lt lSU 0 lSU lSU 0 LL lt sum
  • ANDROID FirebaseDatabase:无法保存对象

    我无法将对象添加到 firebase 实时数据库 我尝试了以下代码 但是当这段代码执行时 db child Users setValue person 我的应用程序崩溃了 public class Person String fname S