在Android中将自定义对象存储到内部存储的最佳方法?

时间:2012-09-25 21:40:56

标签: android

我有一个自定义对象“TimeSheet”,它本身包含Calendar,DateFormat和int字段。该应用程序旨在使用其中的几个对象,因此我计划在创建它们时将它们存储在List中,并且我希望应用程序能够在应用程序关闭并重新加载时将这些对象保存到内部存储当它打开时它们。

在Android开发方面,我仍然是一个新手(到目前为止我只发布了一个应用程序),所以我不完全确定最好的方法。我猜一个ObjectInputStream和它的Output对应物可能是最好的选择,但我不完全确定。我完全愿意改变我的设计策略,以最简单的方式存储这些TimeSheet对象的集合。

任何人都可以推荐一个好的方向,如果可能的话,提供简单明了的例子吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

对于这样的事情,没有一个正确的答案。其中很大程度上取决于您存储的数据量。如果您没有太多数据,请使用SharedPreferences,如果您有大量数据且数据很复杂,请使用database。如果您没有太多数据,我不会使用数据库。您希望尽可能简单,添加数据库可能会使事情变得复杂。这是一个谈论不同选项的链接。看看这个。希望它有所帮助:

http://developer.android.com/guide/topics/data/data-storage.html

答案 1 :(得分:1)

有两种方法可以做到这一点

  1. 将其保存在SQLite数据库中..
  2. 以json格式将对象保存在文件
  3. See this discussion

答案 2 :(得分:0)

我诚实地建议使用SQLiteDatabase来存储它们:编写函数将3个字段映射到数据库(Calendar将成为NUMERIC,DateFormat将成为字符串,并且int字段都是NUMERIC)并从数据库中的一行重建对象字段。它有点沉重,但会使不可避免的功能扩展变得更加容易。