realm 不用set方法不能保存到数据库
reealm数据库异步保存,官方提供用的是这种set赋值
RealmAsyncTask transaction = realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm bgRealm) {
User user = bgRealm.createObject(User.class);
user.setName("John");
user.setEmail("john@corporation.com");
}
}, null);
但是我想用这种方式
public void saveRealmMapInfo(final AllInfoMapBean realmObject) {
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm bgRealm) {
AllInfoMapBean allInfoMapBean = bgRealm.createObject(AllInfoMapBean.class);
allInfoMapBean = realmObject;
}
});
}
存储不上,应该怎么解决
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
已经找到答案了,谢啦
https://github.com/realm/realm-java/issues/2941#issuecomment-223914141
好像是因为内部通过set和get方法做了操作的,你写实体如果不写get/set方法直接使用public去赋值好像都不行。
另外我看了下好像现在1.0正式版本后可以不用强制set/get了
这里好像就是直接赋值实体的
https://realm.io/cn/docs/java/latest/#section-12