1

在我的 Android 应用程序中,我加载了一个文件和一个包含一堆文件的文件夹。我正在尝试确定这些是否应该作为资产、资源或其他东西完全添加。

该文件是一个 XML 文件,其路径被传递给一个类构造函数,该构造函数从文件中包含的内容创建一个对象。如果需要,我可以访问构造函数代码。

该文件夹包含一堆特殊格式的非人类可读文件。文件夹的路径被传递给另一个知道文件夹结构的构造函数并创建一个对象。我无权访问它的代码。

哦,这两者没有任何关系,除了它们是同一个应用程序需要的事实。

那么我应该如何存储这些呢?我首先考虑将它们添加为资产,但显然我只能获得不起作用的资产的输入流。如果我将文件夹添加为资源,它是否必须进入 res/ 下的特定子文件夹?哪一个?te XML 文件是否必须放在 res/xml 下?无论是资产还是资源,是否有我应该用来访问文件和文件夹的默认根路径?

谢谢!

4

1 回答 1

2

res/xml/出于性能原因,我会将 XML 文件放在 下。res/xml/支持任意 XML,所有 XML 编码的资源解析速度比解析普通文件快 10 倍左右。您的“从文件中包含的内容创建对象的类构造函数”将使用XmlResourceParser您从该ResourcesXML 的对象中获得的。

就文件夹而言,请使用assets/,因为您不能在资源中拥有文件夹结构(原始或其他)。

我首先考虑将它们添加为资产,但显然我只能获得不起作用的资产的输入流。

如果您希望将文件与您的应用程序打包并直接使用它们,您实际上别无选择。资源和资产都不能直接作为文件使用。将它们的内容作为文件获取的唯一方法是您自己使用流将它们复制到本地文件,这会增加它们占用的存储量,并且在 XML 的情况下会降低解析性能。

于 2012-04-23T18:53:16.927 回答