今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起。
首先看一下Android项目的目录结构。
这是我随便建立的一个test项目,我们重点关注一下几个方面的内容:
1、src目录:存放java源代码的目录,里面建立一个包,包里面有4个java源文件(分别都继承自Activity)。由于java要求比较严格,因此要求类名与文件名一致。
gen(Generated Java Files)目录:自动产生Java源文件的目录,是由工具自动生成的,一般不需要自己修改。里面主要有一个R.java文件,是一个最终类(不能被继承),定义了一系列的静态变量,方便程序员在程序代码中可以直接引用。
2、assets目录:存放文件资源的目录,与res目录不同,资源复制到此文件夹之后不会在R.java中自动产生id,如果需要用到这里面的文件,需要指定路径。
bin目录:跟C#一样,存放最终编译好的可执行程序,以及一些必要的文件。比如这里面就有一个classes.dex文件,这是android虚拟机的运行环境(打包好的文件);而apk文件,就是我们可以在android系统中安装的文件。
3、libs目录:存放引用一些jar包的目录。jar文件其实就是一个zip包(可以直接修改后缀名为zip,然后解压缩查看到里面的class文件),类似于C#中的dll文件(jar里面有多个class文件,而dll是一个文件但是里面可以封装多个程序集)。
4、res目录:存放一些资源的目录。比较重要的有layout(布局)目录和values目录。前者存放布局文件(一个Acvitity可以对应多个layout文件),一些按钮、文本框、下拉框、复选框等等这些元素都可以放置在里面,可以理解为存放这些元素的一个容器。而values目录是存放一些键值对的信息,添加后可以在R.java文件中的final class string当中自动生成相应的id,以便程序中通过R.string.id直接引用。其它的比如drawable是存放图片的目录,menu是设置菜单项的地方。
5、AndroidManifest.xml文件:这是一个Android清单文件,所有的Activity都需要在这里面进行注册才能够访问,还可以设置添加权限以及android sdk的版本号等等。
上面简要的介绍了一下Android项目目录结构以及各自的功能,先有个全面基本的认识。
C#程序员学习Android开发系列之Android项目的目录结构