我有以下代码会产生错误:Error:Parceler: Unable to find read/write generator for type io.realm.Realm for io.realm.RealmObject.realm
一切正常,无需extends RealmObject
,但是我想使用 Realm 轻松放入数据库。有没有办法排除 RealmObject 字段并仅使用 @Parcel 的基本 pojo 字段?
@Parcel
public class Feed extends RealmObject{
int id;
public String text;
public String time_created;
String time_modified;
int comments_count;
int likes_count;
String feed_type;
int obj_id;
String image;
String user_name;
String user_earthmile_points;
boolean liked;
boolean commented;
boolean is_private;
String url;
int feed_creator_id;
}
EDIT #2:实际上,我找到了一种让它发挥作用的方法:)。请参阅下面更新的答案。
EDIT #1:虽然应用程序编译得很好,但在尝试实际创建一个应用程序时它崩溃了Parcel
出现错误:org.parceler.ParcelerRuntimeException: Unable to create ParcelableFactory for io.realm.FeedRealmProxy
。 Realm 团队有正式承认目前无法实施Parcelable
on RealmObject
s。目前还不清楚这个问题是否/何时会得到解决。
With 包裹器 v0.2.16, 你可以这样做:
@RealmClass // required if using JDK 1.6 (unrelated to Parceler issue)
@Parcel(value = Parcel.Serialization.BEAN, analyze = { Feed.class })
public class Feed extends RealmObject {
// ...
}
然后,使用Parcels.wrap(Feed.class, feed)
代替Parcels.wrap(feed)
无处不在,否则你的应用程序将会崩溃org.parceler.ParcelerRuntimeException: Unable to create ParcelableFactory for io.realm.FeedRealmProxy
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)