Android:将外部文件和文件夹存储为资产?资源?还有别的吗?

Android:将外部文件和文件夹存储为资产?资源?还有别的吗?,android,resources,assets,Android,Resources,Assets,在我的Android应用程序中,我加载了一个文件和一个包含一堆文件的文件夹。我正在尝试确定这些是否应该作为资产、资源或其他完全的东西添加 该文件是一个XML文件,其路径被传递给类构造函数,该类构造函数根据文件中包含的内容创建对象。如果需要,我可以访问构造函数代码 该文件夹包含一组特殊格式的非人类可读文件。文件夹的路径被传递给另一个构造函数,该构造函数知道文件夹的结构,并创建一个对象。我无法访问它的代码 哦,这两者之间没有任何关系,只是同一个应用程序需要它们 那么我应该如何储存这些呢?我首先考虑将

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

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

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

哦,这两者之间没有任何关系,只是同一个应用程序需要它们

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


谢谢

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

对于文件夹,请使用
资产/
,因为资源中不能有文件夹结构(原始或其他)

我首先考虑将它们添加为资产,但显然,我只能获得一个无法工作的资产的输入流


如果你想将文件打包到你的应用程序中并直接使用它们,你真的没有选择的余地。资源和资产都不能直接作为文件使用。将其内容作为文件获取的唯一方法是您自己使用流将其复制到本地文件中,这会增加它们占用的存储量,对于XML,还会降低解析性能。

这些文件是否需要随时间而更改,或者,如果它们与您的源代码一起提供,并且从未更改过,那么可以吗?我想说,文件夹中的文件是相当静态的。也就是说,它们可能会得到更新,但更新的频率可能与代码本身一样(bug修复等)。XML文件不是静态的。它包含一个排序列表,用户可以使用应用程序向列表中添加更多项目。资产和资源在运行时无法更改,因此请考虑这一点。谢谢,请记住这一点