2016-11-15 2 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: Исправлено столкновение с IOException, записывающее сериализуемый объект

Это связано с сериализацией RealmObject? Как я могу это исправить?

+0

класс MyNotif должен реализует интерфейс Serializable ... – appersiano

+1

Это, вероятно, связано с тем, что 'MyNotif' не' Serializable', но даже тогда, вы должны быть requerying RealmObjects по их первичному ключу, и не разрешать их. – EpicPandaForce

ответ

0

Вы должны изменить свой код так:

class Book extends RealmObject implements Parcelable { ... } 

или вы можете внешняя библиотека для обработки синтаксического анализа, проверить это.

https://github.com/johncarl81/parceler

Смежные вопросы