在我的Android应用程序中,我加载了一个文件和一个包含一堆文件的文件夹。我正在尝试确定这些是否应该作为资产、资源或其他完全的东西来添加。
该文件是一个XML文件,其路径被传递给一个类构造函数,该构造函数根据文件中包含的内容创建一个对象。如果需要,我可以访问构造函数代码。
该文件夹包含一堆特殊格式的非人类可读文件。文件夹的路径被传递给另一个知道文件夹结构的构造函数,并创建一个对象。我不能访问它的代码。
哦,这两个没有任何关系,除了他们是由同一个应用程序需要的事实。
那么我应该如何存储这些内容呢?我最初考虑将它们添加为资产,但显然我只能获得资产的输入流,这将不起作用。如果我将文件夹添加为资源,它是否必须进入res/下的特定子文件夹?哪个?是否必须将XML文件放在res/xml下?无论是资源还是资源,是否有我应该用来访问文件和文件夹的默认根路径?
谢谢!
发布于 2012-04-24 02:53:17
出于性能方面的原因,我会将XML文件放在res/xml/下。res/xml/支持任意XML,并且解析所有XML编码的资源比解析普通文件快大约10倍。您的“从文件中包含的内容创建对象的类构造函数”将使用从该XML的Resources对象中获得的XmlResourceParser。
就文件夹而言,请使用assets/,因为您不能在资源(原始或其他)中具有文件夹结构。
我最初考虑将它们添加为资产,但显然我只能获得资产的输入流,这将不起作用。
如果你希望将文件打包到你的应用程序中并直接使用它们,你真的没有选择。资源和资产都不能直接作为文件提供。获取文件内容的唯一方法是您自己使用流将它们复制到本地文件,这会增加它们占用的存储量,并且对于XML来说,会降低解析性能。
https://stackoverflow.com/questions/10286330
复制相似问题