浅析Android系统的架构以及程序项目的目录结构

2019-12-10 18:24:31王振洲

       R.java是一个android资源的索引文件,里面定义了大量的静态内部类和静态常量,静态类的名称都和res文件夹下的文件夹一一对应的。如图

Android,程序项目,目录结构  
既然都是索引文件,那么该文件的作用和数据库中索引作用肯定也是差不多。它可以帮助我们快速的定位文件,此外,编译器还会检查R.java中定义的资源是否被使用了,如果没有被使用,那么打成安装包的时候,会自动过滤掉那些没被使用的资源,这样可以大大的节约空间。

(在强调一遍,没事不要瞎改R.java文件) 

4.Android 2.2文件夹

    没什么可说的,一个基础jar包。 

5.asset文件夹

     该文件夹下通常会存放一些资源文件,例如mp3/视频文件等等。

     这个文件被称为原生文件夹,意思就是存放在这里的文件在打包成安装包时,会原样打包,不进行压缩等各种处理。这和res文件夹下的文件是不一样的,res下的资源文件会进行压缩处理的。主要的目的,实际上还是为了节约空间。 

6.res文件夹

     主要有三个子文件夹,drawable_?dpi、layout、values   
      drawable_?dpi:很多人疑问为什么这个文件夹下会分出来三个子文件夹,drawable_hdpi高分辨率、drawable_ldpi低分辨率、drawable_mdpi一般分辨率,实际上这和我们在asset中提到的文件优化压缩有关,android会对三个文件夹下的文件使用不同的压缩优化算法。这样就既保证了我们对某些图片较高分辨率的要求,也保证了这些资源不会占用太多的空间。

      layout存放布局文件。包括主布局文件和一般的组件布局文件。

      values下可以存放很多.xml文件,例如arrays.xml、colors.xml、dimens.xml、styles.xml,当然这些xml文件的名称都是随意取得。   
7.AndroidManifest.xml
    也没什么可说的,安卓项目都带~列出程序的组件和一些需要交互的东西。