res文件夹和assets文件夹
2016-04-21 19:49
204 查看
resource —— Android AssetPackaging Tool (aapt)
——gen/R.java资源索引文件
assets(与resource同级)
resource级下文件命名一定要规范,不然会报错:
1.animator 存放定义了property animations(属性动画) 的XML文件
2.anim 存放定义了补间动画(tweened animation)或
逐帧动画(frame by frame animation)的XML文件。
(该目录下可以存放定义property animation 的XML文件,但是最好还是分开放)
3.raw 存放直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resource.openRawResource(),参数是资源的ID,即R.raw.filename。
4.drawable 存放能转换为绘制资源(Drawable Resource)的位图文件(后缀为 .png \ .9.png \ .jpg \ .gif 的图像文件)或者定义了绘制资源的xml文件。保存在这个目录中的Bitmap文件在打包的过程中,可能会被优化的。
5.color 存放定义了颜色状态列表资源(Color State List Resource)的XML文件。
6.layout 存放定义了用户界面布局的XML文件
7.menu 存放定义了应用程序菜单资源的XML文件
8.values 存放定义了多种类型资源的XML文件,这些资源的类型可以是字符串、数据、颜色、尺寸、样式等等
9.xml 存放任意的XML文件,在运行时可以通过调用Resource.getXML()读取。
value文件夹下放置:
menu文件夹下:
assets文件夹:
它里面保存的是一些原始的文件,可以以任何方式来进行组织。这些文件最终会被原装不动地打包在apk文件中。
如果我们要在程序中访问这些文件,那么就需要指定文件名来访问。例如,假设在assets目录下有一个名称为 filename 的文件,那么就可以使用以下代码来访问它:
AssetManager am= getAssets();
InputStream is = assset.open(“filename”);
Android中asset文件夹和res文件夹下的raw文件夹区别:
raw和assets的相同点:
1、在打包后会原封不动的保存在apk包中,不会被编译成二进制。
在res文件夹下的9种类型的资源文件,除了raw类型资源,以及Bitmap文件的 drawable类型资源之外,其它的资源文件均为文本格式的XML文件,它们在打包的过程中,会被编译成二进制格式的XML文件。
raw和assets的不同点:
1、raw中的文件是位于res文件夹下的,所以会被映射到R.java文件中,在程序中访问的时候可以直接使用资源ID 即R.id.filename;assets文件夹下的文件不会赋予ID,不会映射到R.java中,在程序访问的时候需要使用 AssetManager 类。
AssetManager am= getAssets();
InputStream is = assset.open(“filename”); // 获取输入流读取文件
2.assets目录下可以再建立文件夹,而raw文件夹下不可以在建文件夹
在程序中读取文件资源的方式:
1.读取raw下的文件资源,通过以下方式获取输入流来进行写操作
InputStream is =getResources().openRawResource(R.id.filename);
2.读取assets下的文件资源,通过以下方式获取输入流来进行写操作
AssetManager am = getAssets();
InputStream is = am.open(“filename”);
——gen/R.java资源索引文件
assets(与resource同级)
resource级下文件命名一定要规范,不然会报错:
1.animator 存放定义了property animations(属性动画) 的XML文件
2.anim 存放定义了补间动画(tweened animation)或
逐帧动画(frame by frame animation)的XML文件。
(该目录下可以存放定义property animation 的XML文件,但是最好还是分开放)
3.raw 存放直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resource.openRawResource(),参数是资源的ID,即R.raw.filename。
4.drawable 存放能转换为绘制资源(Drawable Resource)的位图文件(后缀为 .png \ .9.png \ .jpg \ .gif 的图像文件)或者定义了绘制资源的xml文件。保存在这个目录中的Bitmap文件在打包的过程中,可能会被优化的。
5.color 存放定义了颜色状态列表资源(Color State List Resource)的XML文件。
6.layout 存放定义了用户界面布局的XML文件
7.menu 存放定义了应用程序菜单资源的XML文件
8.values 存放定义了多种类型资源的XML文件,这些资源的类型可以是字符串、数据、颜色、尺寸、样式等等
9.xml 存放任意的XML文件,在运行时可以通过调用Resource.getXML()读取。
value文件夹下放置:
string 存放定义的string。 stringArray 存放定义的字符串数组。 XML中调用时使用entries。 代码时调用时用 :getResource()实例化Resource, 使用其.getStringArray(R.array.里面放置StringArray的名字)方法。 QuantityString Integer IntegerArray TypedArray bool dimension color 将xml文件或者程序中用到的中文或者其他文字打包到string文件或者 stringArray文件中,可以在修改的时候减少不必要的麻烦,在国际化 中,更换文字也更方便,也减少了冗余。像在程序或者xml中经常用到 的颜色、尺寸、布局style等都可以打包到value文件夹下。
menu文件夹下:
选项菜单、子菜单 、上下文菜单 前两项的创建:onCreateOptionMenu(menu) 后一项的创建:onCreateContextMenu() 为视图注册上下文菜单: 在activity中OnCreate函数中调用 registerForContextMenu()方法。 <menu>标签是根元素,他没有属性,可包含<item>和<group>子元素。 <group>标签表示一个菜单组,相同的菜单组可以一起设置其属性, 例如visible、enabled和checkable等属性。 具体罗列说明如下: id:唯一标示该菜单组的引用id menuCategory:对菜单进行分类,定义菜单的优先级, 有效值为container、system、secondary和alternative orderInCategory:一个分类排序整数 checkableBehavior:选择行为,单选、多选还是其他。 有效值为none、all和single visible:是否可见,true或者false enabled:是否可用,true或者false
assets文件夹:
它里面保存的是一些原始的文件,可以以任何方式来进行组织。这些文件最终会被原装不动地打包在apk文件中。
如果我们要在程序中访问这些文件,那么就需要指定文件名来访问。例如,假设在assets目录下有一个名称为 filename 的文件,那么就可以使用以下代码来访问它:
AssetManager am= getAssets();
InputStream is = assset.open(“filename”);
Android中asset文件夹和res文件夹下的raw文件夹区别:
raw和assets的相同点:
1、在打包后会原封不动的保存在apk包中,不会被编译成二进制。
在res文件夹下的9种类型的资源文件,除了raw类型资源,以及Bitmap文件的 drawable类型资源之外,其它的资源文件均为文本格式的XML文件,它们在打包的过程中,会被编译成二进制格式的XML文件。
raw和assets的不同点:
1、raw中的文件是位于res文件夹下的,所以会被映射到R.java文件中,在程序中访问的时候可以直接使用资源ID 即R.id.filename;assets文件夹下的文件不会赋予ID,不会映射到R.java中,在程序访问的时候需要使用 AssetManager 类。
AssetManager am= getAssets();
InputStream is = assset.open(“filename”); // 获取输入流读取文件
2.assets目录下可以再建立文件夹,而raw文件夹下不可以在建文件夹
在程序中读取文件资源的方式:
1.读取raw下的文件资源,通过以下方式获取输入流来进行写操作
InputStream is =getResources().openRawResource(R.id.filename);
2.读取assets下的文件资源,通过以下方式获取输入流来进行写操作
AssetManager am = getAssets();
InputStream is = am.open(“filename”);
注意1:在AssertManager中不能处理单个超过1MB的文件, raw没限制 注意2:assets 文件夹是存放不进行编译加工的原生文件, 即该文件夹下不会有xml、java文件可被编译的文件, 可以存放一些图片、html、js、css等文件。
相关文章推荐
- 通过MenuItem跳到别的界面以后再返回时原activity被Destroy的解决方法
- js基本语法--排序,冒泡排序法
- shell脚本的字符串截取
- css3属性中background-clip与background-origin的用法释疑
- 生产者-消费者问题
- POJ 3468 A Simple Problem with Integers(线状树经典模型之lazy操作)
- 兴趣清单
- <<你最喜欢做什么--兴趣问题清单>>总结
- SSH导入jar包
- 几种动态分配内存的方法及区别
- 随机产生四则运算
- 257. Binary Tree Paths
- 互联网金融传销为何泛滥?
- 2026
- 测试作业
- CSS3 box-flex 属性
- 利用Activity之间回传显示数据
- arm中断与定时器学习笔记
- 《Django By Example》读书笔记 03
- openwrt下载路径