【问题标题】:RealmObject serialize in androidRealmObject在android中序列化
【发布时间】:2017-03-29 07:41:21
【问题描述】:

我有一个名为 Book 的类,它扩展了 RealmObject。

还有一个像这样的类:

class MyNotif {

    int id;
    Book book;

    public void serialize(Bundle bundle) {
        bundle.putSerializable(BUNDLE_KEY, this)
    }
}

我从服务器获取 MyNotif 对象并像这样处理它:

Intent intent = new Intent(context, MainActivity.class);
intent.putExtras(myNotif.serialize(new Bundle()));
PendingIntent.getActivity(context, requestCode, intent, PendingIntent.FLAG_ONE_SHOT);

然后我得到一个异常:

java.lang.RuntimeException: Parcelable 在写入可序列化对象时遇到 IOException

这与 RealmObject 序列化有关吗?我该如何解决?

【问题讨论】:

  • 类 MyNotif 应该实现 Serializable 接口...
  • 这可能与MyNotif 不是Serializable 的事实有关,但即便如此,您也应该通过它们的主键重新查询 RealmObjects,而不是对它们进行打包。

标签: android serialization realm


【解决方案1】:

你应该像这样改变你的代码:

class Book extends RealmObject implements Parcelable { ... } 

或者你可以使用外部库来处理解析,看看这个。

https://github.com/johncarl81/parceler

【讨论】:

    猜你喜欢
    • 2019-08-12
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    相关资源
    最近更新 更多