Android 无法将RealmObject中的对象列表打包

Android 无法将RealmObject中的对象列表打包,android,realm,parcelable,realm-list,Android,Realm,Parcelable,Realm List,我在将对象列表打包到RealmObject中时遇到问题 我有一个名为Player的RealmObject,它扩展了Parcelable。每个玩家都有一个RealmObject游戏列表(更确切地说是3个游戏)。游戏对象具有诸如分数、平均值等字段 我构建应用程序的方式是,在查询db后,我将所有播放器复制到arraylist,当设备发生旋转时,我使用Parcelable重新创建播放器的arraylist。我不知道这是否是正确的过程,但我认为最好不要每次从数据库读/写 问题是我无法找到将游戏列表打包到玩

我在将对象列表打包到RealmObject中时遇到问题

我有一个名为Player的RealmObject,它扩展了Parcelable。每个玩家都有一个RealmObject游戏列表(更确切地说是3个游戏)。游戏对象具有诸如分数、平均值等字段

我构建应用程序的方式是,在查询db后,我将所有播放器复制到arraylist,当设备发生旋转时,我使用Parcelable重新创建播放器的arraylist。我不知道这是否是正确的过程,但我认为最好不要每次从数据库读/写

问题是我无法找到将游戏列表打包到玩家对象中的方法。我尝试使用
ArrayList
,我知道我可以打包,但Realm显示了一个错误!如果我尝试使用RealmList,我不知道如何打包RealmList

我在网上读了很多文章,但还没有找到一个建议的解决方案。有没有一种建议的方法可以用来打包RealmList或在RealmObject中使用ArrayList


非常感谢。

我认为您应该使用另一个对象作为业务逻辑(并实现Parcelable)和其他扩展RealmObject的对象,仅用于从领域数据库保存/还原,并使用映射器在ObjectLogic和ObjectRealm之间映射。您好,感谢您的回答@MGDiez我没有想过使用两个不同的对象(一个用于逻辑,一个用于保存)。因为我以前没有用过地图绘制工具,你能推荐一些图书馆吗?谢谢使用你自己的代码!了解Clean Architecture:)
在查询数据库后,我将所有玩家复制到arraylist
请看,这就是你使用领域错误的地方,你应该只获得
RealmResults
这些
映射到arraylist
魔术-如果你使用
RealmResults
,那么你不需要打包任何东西Hello@EpicPandaForce。所以,这意味着每次我想更改一个对象的值(比如分数),我必须在事务中使用realmResults.get(I).setScore(10),所有内容都存储在数据库中?如果我在对象中设置了一个字段为ignore,因为我不希望它出现在db中?很抱歉问你这些问题,但我试着去理解境界的哲学!