src: 放置java代码
gen: 里面的内容都是自动生成的,主要有一个R.java文件,项目的任何资源都在此有一个id,不要手动修改。
assets: 存放随程序打包的文件,程序运行时可以动态读取里面的内容,如果程序中用到了WebView加载本地网页,网页的相关文件放到此处。
bin: 也不需要太多关注,程序编译时自动产生的文件。
libs: 如果你的项目中使用到了第三方jar包,就需要放到这个目录下。
res: 存放的内容比较多,图片,布局,字符串等都要放到这个目录。R.java也是根据这个目录产生的ID。都有固定放置的位置,不用担心会很乱。
AndroidManifest.xml: 整个Android项目的配置文件,程序中定义的四大组件都需要在这个文件中注册。
project.properties: 定义了编译SDK的版本
其中比较重要的就是:src res AndroidManifest.xml
Android项目如何运行起来的?
打开AndroidManifest.xml文件,里面有一个主要活动的注册配置:
其中最外层的方框表示堆一个活动的注册,其中小的方框非常重要,两个配置表示了其是主要活动,即应用刚开始的界面。既然已经有了活动的注册,具体活动内容是啥样子呢?
那么在res中的hello_world_layout.xml就是一个布局,是通过xml格式的文件进行的描述,里面的内容如图所示:
其中又引用到了hello_world这个字符串资源,这个资源位于res/values/strings下面:
从这个分析就可以看出来,工程中资源要进行定义,而且划分到不同的文件夹下面,对于活动呢,要在工程文件中进行注册,活动中通过引用资源ID来使用资源。
详细介绍项目中的资源:
所有以drawable开头的都是存放图片的,values开头都是存放字符串的,layout开头都是存放布局的,menu开头都是存放菜单文件的。
之所以drawable还有那么多文件夹,是因为考虑到兼容性问题,同一个图片可能给出多个版本,一般放到hdpi文件夹下面就行。
那如何使用这些资源呢?
如strings.xml里面的字符串资源,可以通过两种方式使用:1是在代码中通过R.string.hello_world获取字符串引用。2是通过在XML中通过@string/hello_world获取字符串引用。
如果是图片或者布局,直接替换上面两种方法中的string为drawable和layout.