gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 22:08:08 25 4
gpt4 key购买 nike

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

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

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

哦,除了同一个应用程序需要它们之外,这两个彼此没有任何关系。

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

谢谢!

最佳答案

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

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

I first thought about adding them as assets but apparently I can only get an input stream for an asset which would not work.

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

关于Android:将外部文件和文件夹存储为 Assets ?资源?还有别的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10286330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com