过度使用Application类来存储持久数据

时间:2013-06-27 09:33:22

标签: java android

我对android和java很新,跟我一样。我正在制作一个必须在活动之间共享大量(相对)数据的应用程序。起初,我通过序列化或使其可分割来在活动之间传递数据,但它变得非常快(特别是当我需要在用户按下BACK时保留数据)。现在我决定使用Application类将它存储在全局单例中。 现在它变得更清洁,更简单了(这也是我想要这样做的主要原因)。不是它的相关性,而是餐厅订购应用程序和我存储的数据全球是:

  1. 类别中所有菜单项的列表。 HashMap<整数,ArrayList> (我从服务器上获取它们,因此它可能会在启动之间发生变化)。
  2. 包含用户添加到其中的所有内容的购物车HashMap<整数,HashMap>
  3. 一个简单的字符串。
  4. 问题很简单: “大男孩”将如何做到这一点?我是否正确使用Application类?我需要担心在这里存放太多东西吗?我应该放弃它并使用Serializable / Parcelable的东西并不断地将它们放入Intent中吗?

1 个答案:

答案 0 :(得分:1)

您怀疑您使用应用程序是对此类的轻微滥用是正确的。特别是,您正准备将其转变为数据库。在尝试跨活动保持数据的一致状态的问题上,您已经看到了这方面的问题。

您可以利用Android对SQLite的内置支持,而不是这样做。如果您想要进一步快捷方式并直接获取对象,可以使用OrmLite for Android

相关问题