android工程文件分析:
        
  1. gen文件夹:保存自动生成的R.java文件,不需要改动。
    1. R.java: android工程中所有的资源信息(组件、图片、字符等等)都是由HashMap<Integer,Object>来存储的 key值就是R.java中的静态变量值 value就是相对应的各种对象信息(组件、图片、字符等等) 当工程被载入时,所有资源都被加载到HashMap中去(类似Spring将所有Bean放入HashMap中一样) 这样我们就可通过key值定位到相应的组件 资源加载的过程大致如下 1.解析res文件夹下的各种文件,如果是xml文件调用java反射机制解析成相应的对象; 2.由res文件夹下文档的目录层级结构来匹配R.java中相对应的静态变量名称,并取出变量值作为key值; 3.将步骤2中key值和步骤1中的value值放入到HashMap<Integer,Object>中. 而Context类中的getResource()方法实际上就是返回这个HashMap对象
    2. BuildConfig.java:编译配置。(android 4.2 才有提供)
  2. res文件夹:保存应用中的各种资源文件
    1. string.xml:该文件中声明了系统中使用的字符串常量。这样做有两个好处: (1) 降低了程序的耦合度 (2) android通过了特殊的方式来使用字符串,提高了程序运行效率
    2. main.xml:文件中声明了程序中用到的视图文件。 android 通过这种方法,将程序的表现层和控制层分开,降低程序的耦合度,提高了程序的可配置性。
  3. AndroidManifest.xml: 每个工程都有这样一个android工程的全局配置文件,工程中所有使用的组件(如Activity、Service、ContentProvider 和 Broadcast Receiver)
  4. assets文件夹:同 res 文件夹相同,用来保存资源文件,不同于res中资源的是,assets中通常保存的是原生的文件,如一个MP3文件,res中的资源可以通过R.java文件直接访问,而assets中的资源必须通过AssetManager类以二进制流的方式读取






更多相关文章

  1. [置顶] Android:在任意位置获取应用程序Context
  2. android 陀螺仪简单使用,判读手机是否静止状态
  3. android jar转dex
  4. 2.Android开发---xml布局文件中的常见属性总结
  5. android XML layout
  6. 安卓ListView和CheckBox组合使用
  7. Android程序猿挑战高薪必会的十大面试题
  8. 拥抱Android(安卓)Studio:从ADT到Android(安卓)Studio
  9. Android&Java的学习新的等

随机推荐

  1. android launcher2开发之 有抽屉改成无抽
  2. Android预安装软件&adb命令&编译源码
  3. Android 分析:Process xxxxx (pid 30262)
  4. 【Android-UnitTest】Android单元测试问
  5. android驱动学习-led次设备号(2)
  6. Android 准确过滤(禁止) Emoji表情
  7. android 横纵屏切换
  8. android 已省内存方式把图片加载到内存
  9. android的Menu使用
  10. Android NDK r8 windows环境搭建