我正在制作(我的第一个)android 应用程序,我对 db4o 的使用有点困惑。
我有一个活动,其中有一个 listView,并让用户选择一个对象。然后我通过一系列意图将此对象传递给其他活动(以填充其字段),然后返回主要活动。
但问题是,当我传递一个对象(它是可序列化的)时,我脱离意图的对象与我放入的对象不同。(不同的 id,当我使用调试检查时)。所有字段都是相同的,但它不是“相同”的对象。
因此,当我尝试将更新的对象存储在 db4o 中时,它无法识别它,并存储了一个双精度对象。
我想出了两种解决方法:
还传递一个“原始/未修改”对象,并使用它来获取 db4o 引用(通过 QBE),然后使用已更改对象的值更新该对象的字段。
使用全局变量,所以我不必使用意图(传递对象)
但在我看来,两者都很糟糕?什么可能是真正的解决方案,而不是解决方法?