我应该使用什么方法在任何类之间共享复杂的对象

时间:2018-07-21 14:00:40

标签: android global-variables share

在示例中,我们有一个可跟踪出租车司机的应用程序,出租车司机登录该应用程序并为给定的客户选择要驾驶的订单。

在这种情况下,我们有一个表示很多数据的Order类,在仍然可以对其进行修改的同时,可以从任何地方访问此对象非常重要。

从现在开始,我们可以:

  • 通过将额外的数据用于意图来传递它,但这不是问题 使代码更具可读性,在某些情况下,这不是解决方案
  • 将对象反序列化为json并将其存储到缓存中,我们仍然 需要不断更新此值,当更多 复杂的物体在游戏中,一个错误,上帝知道什么时候 发生不匹配
  • 将其存储到扩展Application的类中 是我现在正在测试的方法,但是对此我有疑问 当应用崩溃时/ Android将随机释放应用资源时,我需要使用以下命令还原给定的对象状态 仍然具有缓存的黑魔法

我认为这是许多应用程序都存在的问题,例如Spotify的当前播放曲目等。

还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

尝试使用sqlite数据库。在这种情况下,如果您自己创建健壮的GetOrders API方法,则可以从应用程序中的任何位置访问数据。

Here is a tutorial创建数据库。

在这种情况下,如果应用程序退出或崩溃,您将永远不会丢失任何数据。此外,与将数据缓存到内存中相比,这确实没有什么区别。