存储应用程序信息

Storing App Information

我一直在寻找不同的方法来保存一些预定义的字符数据,但是我很难确定哪种方法是最好的解决方案。

一个数据示例是 10 个字符串、5 个 int 数组(每个数组大小为 10)。将有 10 多组此数据。该应用程序将加载信息并膨胀通用 "character" 个对象。

可能的解决方案:

XML:由于 Android 的结构化 XML 要求,如果不为每个字符制作不同的 XML 文件,可能很难使用,即使那样对于相似的命名数据值,它的 ID 会重叠。

SQLite:不会是一个巨大的数据库,但数据库是丑陋的版本控制,除非它是使用创建数据库脚本完成的,该脚本有其自身的缺点(例如确保数据库在构建之间是最新的)。

硬编码对象:到目前为止,我最不喜欢的解决方案是使用多态性对所有对象进行硬编码。太脏了,几乎没有应有的活力。

我想考虑诸如控制文件的版本、易于更新(因为它们只是膨胀,从未被应用程序更改)之类的事情。

如果此数据已烘焙,我建议使用硬编码数据。 原因。

  1. 在这三个解决方案中,您将数据保存在应用程序中。

  2. 如果使用XML-data,则需要在代码内部解析代码时消耗时间。而且您必须编写解析 xml.

  3. 的代码
  4. 如果你使用SQLite,你的数据会加倍,因为你必须将这个数据库存储在rawassest目录中,复制到/data/data文件夹。此外,如果您默认使用字符串和 SQLite,数据将再次翻倍(由于 UTF-16 编码)。

如果认为,如果只有您管理数据,那么将其直接存储在代码中会更有用。显然,如果您不使用大量内容:)

您可能想要使用 Realm 框架,它比 SQLite 相对更快,并且易于在您当前的代码中实现。

它也处理大量数据,感觉就像您只使用本机 android 类.