Android 如何对资源数据进行索引?

Android 如何对资源数据进行索引?,android,Android,我对安卓有点陌生,我没有找到解决问题的正确方法所需的全局视角 我想在我的应用程序中包括一个大的blob列表。这些blob应该通过列表中的索引可用,而无需将整个列表加载到内存中。我实际上想做的是一个类似于字典的应用程序,我需要通过索引访问定义,以便在ListView或PagerAdaper中显示它们,但是有一些Mo数据,我不想将它们全部加载到内存中 我已经想到了几种方法,但没有一种是最优的,我可以使用一些见解: 使用sqlite数据库,但根据快速研究,不可能使用资源sqlite文件。我必须将数据

我对安卓有点陌生,我没有找到解决问题的正确方法所需的全局视角

我想在我的应用程序中包括一个大的blob列表。这些blob应该通过列表中的索引可用,而无需将整个列表加载到内存中。我实际上想做的是一个类似于字典的应用程序,我需要通过索引访问定义,以便在ListView或PagerAdaper中显示它们,但是有一些Mo数据,我不想将它们全部加载到内存中

我已经想到了几种方法,但没有一种是最优的,我可以使用一些见解:

  • 使用sqlite数据库,但根据快速研究,不可能使用资源sqlite文件。我必须将数据复制到一个私有数据库中,这将浪费一些Mo
  • 从头开始自己制作:拥有一个包含所有数据的大文件和一个包含每个条目的seek索引的索引文件应该不会太难
如果没有数据复制,sqlite就不可用,我说得对吗?有没有比从头开始更好的方法

我想在我的应用程序中包括一个大的blob列表

从你问题的其余部分的上下文来看,我假设“大的blob列表”将是一个资源。这样做是一个非常糟糕的主意,IMHO,如果“大BLOB列表”超过1MB,那么全力以赴是行不通的

我会将“大blob列表”分解为每个blob的单个资源,如果单个资源id不足以让您找到所需的内容,可能会有一个单独的资源(原始或XML)作为索引

瞧,在运行时,将所有内容都保存在一个单一的“大BLOB列表”中并没有好处,而且成本也很大

如果没有数据复制,sqlite就不可用,我说得对吗


是的。

你所说的数据复制是什么意思。我的意思是将数据保存在内部数据库中,同时也保存在资源文件中。(正如这里所讨论的:)因此,许多文件都依赖于文件系统,而不是创建自己的索引。可以谢谢!