android - 如何将 json 序列化对象传递给 android 中的 Intent?

标签 android android-intent serialization gson

我正在尝试使用以下代码将 gson 序列化对象传递给 intent

intent.putExtra("com.example", vo);//vo 是 gson 序列化后的对象。

但它抛出运行时异常,请帮助。

   java.lang.RuntimeException: Parcelable encountered IOException writing serializable    object (name = com.example.d.a)
            at android.os.Parcel.writeSerializable(Parcel.java:1285)
            at android.os.Parcel.writeValue(Parcel.java:1233)
            at android.os.Parcel.writeMapInternal(Parcel.java:591)
            at android.os.Bundle.writeToParcel(Bundle.java:1646)
            at android.os.Parcel.writeBundle(Parcel.java:605)
            at android.content.Intent.writeToParcel(Intent.java:6831)
            at     android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1927)
            at android.app.Instrumentation.execStartActivity(Instrumentation.java:1419)
            at android.app.Activity.startActivityForResult(Activity.java:3390)
            at android.app.Activity.startActivityForResult(Activity.java:3351)
            at android.app.Activity.startActivity(Activity.java:3587)
            at android.app.Activity.startActivity(Activity.java:3555)

最佳答案

不,你用错了。

将对象放入 Intent 中:

Gson gson = new Gson();
Intent intent = new Intent(Source.this, Target.class);
intent.putExtra("obj", gson.toJson(yourObject));

并在另一个 Activity 中获取对象:

Gson gson = new Gson();
String strObj = getIntent().getStringExtra("obj");
SourceObject obj = gson.fromJson(strObj, SourceObject.class);

关于android - 如何将 json 序列化对象传递给 android 中的 Intent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21761438/

相关文章:

android - Android SDK 中缺少 AAPT2

Android Studio 模拟器对运行时目录的所有权错误

android - 使用 FLAG_ACTIVITY_REORDER_TO_FRONT 时 overridePendingTransition 不起作用

json - 如何为复杂对象编写自定义 JSON 解码器?

Java - 使用 ObjectMapper 反序列化为动态嵌套泛型类型

java - Jackson 如何在自定义序列化器/反序列化器中检索父 bean

java - 广告 Admob Interstitial + 打开应用程序后加载页面 Activity |在 Android Studio 4.2.2 果冻 bean 中

android - 安卓模拟器上的八哥

java - 更改 Android 上的启动 Activity

android - 应用程序崩溃按下后退按钮(显式 Intent 传递信息)