res文件夹和assets文件夹

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文件夹下放置:

    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等文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值