在 Android 中使用 putSerialized

2024-01-01

putSerialized 坏了吗?

当我使用 putSerialized 传递 null 时,FillSummary.class 会按其应有的方式启动。 然而,如果我传递 TestSerial 对象,Android 就会强制关闭。

我需要做什么才能通过捆绑包传输自定义对象?

public class TestSerial implements Serializable{
    private static final long serialVersionUID = 2310640779687082782L;
    public int i;
    public TestSerial(){
        i=1;
    }
}

private void renderSummary(){

    Intent intent = new Intent(FillForm.this, FillSummary.class);
    Bundle extras = new Bundle();

    extras.putSerializable("test serial", new TestSerial());
    intent.putExtras(extras);

    startActivityForResult(intent, Forms.DISPLAY_SUMMARY);
}

Error:

06-28 13:56:02.436: ERROR/AndroidRuntime(1136): Uncaught handler: thread main exiting due to uncaught exception
06-28 13:56:02.784: ERROR/AndroidRuntime(1136): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=Intent { action=Return user choice (has extras) }} to activity {com.Questionaire/com.Questionaire.FillForm}: java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.Questionaire.FillForm$TestSerial)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3005)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3047)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.app.ActivityThread.access$2300(ActivityThread.java:112)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1721)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.os.Looper.loop(Looper.java:123)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.app.ActivityThread.main(ActivityThread.java:3948)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.lang.reflect.Method.invokeNative(Native Method)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.lang.reflect.Method.invoke(Method.java:521)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at dalvik.system.NativeStart.main(Native Method)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136): Caused by: java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.Questionaire.FillForm$TestSerial)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.os.Parcel.writeSerializable(Parcel.java:1147)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.os.Parcel.writeValue(Parcel.java:1101)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.os.Parcel.writeMapInternal(Parcel.java:469)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.os.Parcel.writeBundle(Parcel.java:491)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.content.Intent.writeToParcel(Intent.java:4471)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1036)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1449)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.app.Activity.startActivityForResult(Activity.java:2656)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at com.Questionaire.FillForm.renderSummary(FillForm.java:206)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at com.Questionaire.FillForm.renderNext(FillForm.java:178)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at com.Questionaire.FillForm.onActivityResult(FillForm.java:86)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.app.Activity.dispatchActivityResult(Activity.java:3595)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3001)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     ... 11 more
06-28 13:56:02.784: ERROR/AndroidRuntime(1136): Caused by: java.io.NotSerializableException: com.Questionaire.FillForm
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1753)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:2073)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1900)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1863)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:1354)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:421)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1456)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1789)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:2073)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1900)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1863)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     at android.os.Parcel.writeSerializable(Parcel.java:1142)
06-28 13:56:02.784: ERROR/AndroidRuntime(1136):     ... 23 more

TestSerial应该是静态的或在单独的文件中声明,以便它不会拖动封闭的不可序列化类型。

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

在 Android 中使用 putSerialized 的相关文章

  • 旋转对话框的自定义主题

    我想自定义当我单击 spinnermode dialog 中的微调器时出现的对话框的外观 我想使用对话框片段 但没有找到文档 是否可以 不会 外观是固定的 给人一种操作系统的感觉 您必须创建自己的微调器才能执行此操作 这并不容易 但如果微调
  • 如何使用 Espresso 访问外部网站上的元素

    使用 espresso 我们单击 登录 按钮 该按钮将启动一个外部网站 Chrome 自定义选项卡 您可以在其中登录 然后重定向回我们的 Android 应用程序 Espresso 有没有办法 1 验证正在启动的 URL 是否正确2 访问网
  • Java中如何动态添加charsequence[]中的数据?

    初始化的一种方法charsequence is charsequence item abc def 但我不想以这种方式初始化它 有人可以建议其他方式吗 比如我们初始化的方式string arrays 首先 修复变量声明 charsequen
  • 如何突出显示在 Textview android 中单击的单词

    我正在创建一个应用程序 在其中我从 EditText 中的用户获取输入 现在 单击按钮后 输入的字符串将显示在 TextView 中 现在我的问题是 当用户单击任何单个单词时 我会使该单词在 TextView 中突出显示 例如 用户输入 你
  • 我什么时候应该使用 CGM 设备组和主题?

    我正在考虑将 Google Cloud Messaging 合并到我的应用程序中 我想向与用户关联的所有设备发送消息 乍一看 它看起来像 GCM 的设备群组消息传递 https developers google com cloud mes
  • PinnedHeader Google 加上 GridView?

    背景 Google google 应用程序可以很好地查看 亮点 类别中的图像 对于该屏幕上的每个部分 他们制作了一个标题 其中包含可单击的文本和一个用于选择该部分的所有照片的按钮 对于每个部分 他们还以网格状方式显示照片 它是这样的 这是另
  • 如何删除旧版本的Android Studio

    我必须释放硬盘中的一些空间 并寻找要删除的内容 我发现我有许多引用旧版本的 Android Studio AS 文件夹 我发现文件夹的路径是 C Users mysuername 我想要的是删除旧版本并只保留最新版本的方法 当时是 ASPr
  • 对超类方法的调用应该是第一个语句吗?

    语音识别的结果可以在onActivityResult int requestCode int resultCode Intent data 方法 如图这个例子 http developer android com resources sam
  • WebView 未绘制,WARN/webcore(5336):第一次布局后无法获取 viewWidth

    我的应用程序有一个视图 可以使用以下代码以编程方式添加到活动中 RelativeLayout LayoutParams layoutParams new RelativeLayout LayoutParams 480 75 Relative
  • 免费和付费版本 Android 应用程序的最佳方法?

    我开发了一个 Android 应用程序 我希望它可以作为免费版本和付费版本提供 最好的方法是什么 我可以想到三种解决方案 将项目分成两个分支并维护它们 创建一个库项目并有两个附加项目 一个 免费 版本和一个 付费 版本 使用应用内结算 问
  • 如何让android BottomAppBar圆角化

    我正在使用BottomAppBar来自谷歌这样的
  • 如何在 Android 上通过 RTMP 进行流式传输?

    我正在尝试在远程服务器上播放视频文件 视频格式为flv 服务器为Flash Media Server3 5 我将通过 RTMP 连接到服务器并使用 Android Media Player 实现视频文件的播放 真的吗 可能吗 任何帮助都是我
  • 如何使用特定选项卡启动活动?

    我已经浏览了许多示例 问题和教程 但我从未见过使用特定选项卡启动活动 启动新意图 我知道可以使用 setCurrentTab切换到选项卡 但这只能从父活动选项卡内部完成 从另一个活动启动一个活动中包含的特定选项卡怎么样 是否可以 如果是这样
  • 在 Android KitKat 中接收彩信

    所以这个视频Android 4 4 短信 API http www youtube com watch v mdq0R2WQssQ DevBytes 解释了 KitKat 中 SMS API 的最新变化 他们还提供了示例项目的链接 http
  • IntelliJ 12 中的 Android Hello World - 找不到 android.app.Activity 类

    请看下文 我感觉 SDK 配置不正确 但我不知道如何解决 我尝试用谷歌搜索答案 但没有人遇到这个确切的问题 难道是我的Java版本不对 这两个 SDK 似乎可能相互冲突 我通过以下方式制作了这个项目 创建新项目 Android gt 应用模
  • Android SSH 示例代码

    我想创建一个 android 活动 用于与远程设备 通过 Wifi 建立 SSH 会话并在远程设备上执行一些 Linux 命令 任何人都可以获得一个快速 简短的示例 用于使用以下命令进行连接 身份验证和发送远程命令Trilead https
  • 找出该月第一个星期日/星期一等的日期

    我想在java中检测每个月第一周 第二周的第一个星期日 星期一的日期 我怎样才能实现它 我已经检查了 java 中的 Calendar 类和 Date 类 但无法找到解决方案 所以请帮助我解决这个问题 Calendar calendar C
  • NumberFormatException:无效的整数:“8.0dip”仅在 Galaxy Tab 2 上

    我目前面临 Galaxy Tab 10 1 2 GT P5110 的故障 该故障给我带来了该错误 但仅在该设备上 我尝试了不同的模拟器 我使用 genymotion Nexus 5 7 10 Galaxy S3 4 5 Galaxy Not
  • Oreo:应用程序未运行时不会触发警报

    我有相对简单的设置 应该在一天中的特定时间触发警报并向用户显示通知 这是相关代码 设置闹钟 long inTime expirationTime Calendar getInstance getTimeInMillis 10000 Inte
  • 在 Android 中将列表传递给另一个 Activity

    我已经创建了一个列表 并希望将该列表传递给另一个活动 但当我创建意图时 我在 putExtra 语句上收到错误 只是想知道是否有任何简单的方法来传递字符串列表而不是单个字符串 Thanks private List

随机推荐

  • Web Audio API:如何播放 MP3 块流

    所以我正在尝试使用Web Audio API使用 Node js 和 Socket IO 解码并播放流式传输到浏览器的 MP3 文件块 在这种情况下 我唯一的选择是创建一个新的AudioBufferSourceNode对于接收到的每个音频数
  • Rails - text_field 中的默认值但仅适用于 new_record?

    在内容模型上有一个名为slug 创建新记录时 我想使用助手来填充此字段 但在现有记录上我想使用数据库中的值 目前我有 但这似乎有点冗长 这是最好的方法 还是没有其他方法 Rails 新手只是想在我不确定的问题上找到 Rails 方式 Edi
  • python:迭代列表或异步生成器

    自从 Python 中引入了迭代器以来 你总是可以不关心你正在处理的是迭代器还是列表 from random import random def gen list print gen for i in range 10 yield i de
  • 如何在 ggplot 中使用带有特殊字符的粗体和表达式?

    我认为这很简单 我在 ggplot2 的表达式函数中使用粗体 这对我来说很清楚并且有效 但是当我将它与特殊字符一起使用时 例如mu mol具有 mol or H 2 O具有2作为下标 它不起作用 实际上 它不会将特殊字符加粗 我尝试使用我知
  • JDK11“jstat -gc ”中的“CGC”和“CGCT”是什么意思?

    有两个项目称为 CGC 和 CGCT 我找不到描述其含义的文档和手册页 jstat gc 139934 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT CGC CG
  • 类型类(在 app_Code 中)存在于“solution.dll”和“app_code.wxdafd.dll”中

    我在 C net 中创建了一个 Web 应用程序 并创建了一个 app code 文件夹 其中创建了一个文件 名为 SessionHelper cs 属性正确设置为 Compile 以便它可以在Web应用程序中访问 它用于设置和获取会话参数
  • 如何在 PHPExcel 中转换 HTML 字符?

    使用 PHPExcel 开发动态生成 Excel 文档的 PHP 应用程序 http phpexcel codeplex com http phpexcel codeplex com 我遇到的问题是我的 Excel 文档将包含一些特殊的 H
  • 如何使用 Selenium IDE 从下拉列表中选择值

    我第一次使用 Selenium IDE 对自动化脚本编写一无所知 到目前为止 我可以使用 IDE 进行管理 但有一个问题是我无法从下拉列表中随机选择一个值 而是每次都手动输入索引或标签值 谁能帮我解决这个问题吗 谢谢 我尝试了下面的方法并且
  • 在 Swift 中,如何将数组中的每个元素设置为 nil?

    var roomsLiveStates Firebase for ref in roomsLiveStates if ref nil ref nil 这似乎不起作用 您只需将每个设置为nil for index in 0 lt roomsL
  • 使用 Django 用户管理使电子邮件字段唯一

    有一个几乎类似的问题 如何使电子邮件字段在 Django 中的 contrib auth 模型用户中唯一 https stackoverflow com questions 1160030 how to make email field u
  • 在 Excel 中创建新函数

    我创建了一个 IF公式 在Excel中 想要将该公式转换为函数我阅读了多篇文章 但无法将公式转换为函数 公式如下 IF LEFT L3 4 0321 12 ABC type IF LEFT L3 3 021 543 XYZ type IF
  • 隐藏 wp-admin 使用 htaccess

    我想使用 htaccess文件将wp admin更改为admin panel 当访问链接admin panel时 它显示wp admin的内容 但是当访问链接wp admin时 它会注意到找不到 BEGIN WordPress
  • 文件下载问题:文件名中空格被截断!

    当我正在编写从服务器下载文件的代码时 使用 Response AddHeader Content Disposition attachment filename Server UrlPathEncode Path GetFileName F
  • 如果 CubeField.Orientation = xlPageField 如何设置 PivotField.HiddenItemsList 属性的值

    任务是自动化 OLAP 数据透视表数据过滤 我需要排除名为 sPivotFieldName 的数据透视字段中的一些项目 下面的代码工作得很好 With Worksheets sWorksheetName PivotTables sPivot
  • 科特林中的片段

    我被困在我的应用程序中 因为我必须用 kotlin 中的导航抽屉做一个片段 任何人都可以帮忙吗 我在网上搜索了很多东西 但我还没有找到任何东西 下面是我在主要活动中所做的两项 我希望它也出现在片段中 override fun onNavig
  • rxJava,定期刷新api数据

    我使用以下 observable 来调用改造 api 然后将响应保存到缓存文件中 Override public Observable
  • GLFW 打开 OpenGL 3.2 上下文,但 Freeglut 不能 - 为什么?

    我正在 Mac 上工作 我已经编译并安装了 FreeGlut 但我似乎无法使用它获取 OpenGL 3 2 上下文 不过 我在使用 GLFW 时可以毫无问题地获取它 所以在 GLFW 中 这段代码工作得很好 glfwOpenWindowHi
  • 如何强制 Firestore 客户端应用程序维护集合的正确文档计数?

    Firestore 无法查询集合的大小 因此如果客户端应用程序需要知道此值 则需要对另一个集合中的文档进行一些维护来保存此计数 但是 它要求客户端正确执行事务 以便在添加和删除文档时保持此计数最新 恶意或损坏的客户端可能会独立修改集合或计数
  • 带图片背景的点领导者

    所以我正在为一家餐厅建立一个网站 但我陷入了困境 我正在尝试在那里创建菜单 这个想法是将食物名称向左对齐 价格向右对齐 并用点填充它们之间的空白 像这样 汉堡 4 00 美元 XXL 汉堡 4 00 奶昔 4 00 美元 我找到了几种解决方
  • 在 Android 中使用 putSerialized

    putSerialized 坏了吗 当我使用 putSerialized 传递 null 时 FillSummary class 会按其应有的方式启动 然而 如果我传递 TestSerial 对象 Android 就会强制关闭 我需要做什么