作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用以下代码将 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/
我是一名优秀的程序员,十分优秀!