1.helloworld项目结构以下图所示:html
srcjava
放项目的源代码的。而MainActivity.java文件则对应helloworld界面代码,代码以下所示:android
gen布局
BuildConfig.java:自动生成的配置文件,以下图所示:post
表示当前为调试模式, 能够看见各类调试信息(好比log),若是打包发布则会自动变为fals.学习
R.java:用来记录静态对象(好比用户界面、字符串、图片、声音等)的资源索引文件,对某个静态对象进行ctrl+左键能够快速定位到具体文件中,以下图所示:ui
Android-4.3url
表示经过4.3(API18)的版原本编译,则将调用sdk/platforms/android-18/下的android.jarspa
Android Dependencies翻译
安卓依赖的第三方支持库 ,而android-support-v4.jar则位于 sdk/extras/android/support/v4目录下.v4表示只要版本在Android1.6(API4)以上的,都支持.
assets
中文翻译过来叫资产,放置一些文件资源,这些文件会被原封不动打包到apk里面,而且不会在R.java文件下生成相应的标记
bin
该目录用于存放生成的目标文件,例如Java的二进制文件、资源打包文件(.ap_后缀)、Dalvik虚拟机的可执行性文件(.dex后缀),打包好应用文件(.apk后缀)等。
libs
存放要被调用的jar包.
res
会在R.java文件下生成标记,这里的资源会在运行打包操做的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的。
res展开以下所示:
drawabel-?dpi:存放对应不一样分辨率设备的图标文件(*.png、*.jpg).以下图所示:
layout:界面布局文件,而activity_main.xml界面布局文件则被MainActivity.java调用
menu:菜单文件,用来当用户点击menu按钮时须要作的操做
values: 包含使用XML格式的参数的描述文件,如string.xml字符串,color.xml颜色,style.xml风格样式等,而values-swXXX则是为了避免同分辨率而适配用的
values-v11:表明在API 11+的设备(3.0 +)上,用该目录下的styles.xml代替res/values/styles.xml
values-v14:表明在API 14+的设备(4.0 +)上,用该目录下的styles.xml代替res/values/styles.xml
AndroidManifest.xml
应用清单,包含了APP的配置信息(软件包名,版本号),系统须要根据里面的内容运行APP的代码,显示界面(描述应用的各个组件)。
AndroidManifest.xml以下图所示: