2016-11-15 25 views
0

我有一個名爲Book的類,它擴展了RealmObject。RealmObject在Android中序列化

而另一類是這樣的:

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序列化有關嗎?我該如何解決這個問題?

+0

類MyNotif應該實現Serializable接口... – appersiano

+1

它可能是與事實做'MyNotif'不'Serializable',但即使是這樣,你應該通過他們的主鍵重新查詢RealmObjects,而不是parcelling他們。 – EpicPandaForce

回答

0

你應該改變你的代碼是這樣的:

class Book extends RealmObject implements Parcelable { ... } 

,或者你可以將外部庫來處理分析,檢查了這一點。

https://github.com/johncarl81/parceler