在this教程“学习解析Android应用程序中的XML数据”中,作者将他的XML文件放入assets
文件夹。但在其他教程中,他们建议使用res/xml
。
他们都没有解释为什么他们拿走了他们使用的文件夹。
这两个文件夹有什么区别?什么是最佳做法?性能有差异吗?
答案 0 :(得分:2)
res文件夹用于放置授权资源文件类型,如layout(xml),drawable(png,jpg,xml),raw(mp3,ogg)等...在assets文件夹中,你可以放入所有文件你想要的文件类型(txt,avi,png,docx,xyz,ext,asm,....)。
请检查:Android Projects Structure
1)资产/
这是空的。您可以使用它来存储原始资产文件。您在此处保存的文件将按原样编译为.apk文件,并保留原始文件名。您可以使用URI以与典型文件系统相同的方式导航此目录,并使用AssetManager将文件作为字节流读取。例如,这是纹理和游戏数据的好位置。
2)res /
包含应用程序资源,例如可绘制文件,布局文件和字符串值。有关更多信息,请参阅应用程序资源。
对于编译为动画对象的XML文件。请参阅动画资源类型。
用于描述颜色的XML文件。请参阅颜色值资源类型。
对于位图文件(PNG,JPEG或GIF),9-Patch图像文件和描述可绘制形状的XML文件或包含多种状态(正常,按下或聚焦)的Drawable对象。请参阅Drawable资源类型。
编译为屏幕布局(或屏幕的一部分)的XML文件。请参阅布局资源类型。
用于定义应用程序菜单的XML文件。请参阅菜单资源类型。
对于任意原始资产文件。在此处而不是在assets /目录中保存资产文件的方式与访问它们的方式不同。这些文件由aapt处理,必须使用R类中的资源标识符从应用程序引用。例如,这是媒体的好地方,例如MP3或Ogg文件。
对于编译为多种资源的XML文件。与res /目录中的其他资源不同,写入此文件夹中的XML文件的资源不会被文件名引用。相反,XML元素类型控制如何在其中定义资源放入R类。
用于配置应用程序组件的其他XML文件。例如,定义PreferenceScreen,AppWidgetProviderInfo或Searchability Metadata的XML文件。有关配置这些应用程序组件的更多信息,请参阅应用程序资源。
答案 1 :(得分:1)