文章目录
Android Studio项目结构
Android程序创建时,Android Studio就为其构建了基本结构,设计者可以在此结构上开发应用程序
- Project:相当于Eclipse中的工作空间,而在Android Studio开发工具中更强调Project中项目的关联性,关联性比较大的项目就放在一起,关联性不大的项目就单独放在一个Project中。
- Module:相当于Eclipse中的项目(包含库或者App应用),一个Project可以包含多个Module,并且在Project创建时会默认创建一个名为app的Module,在这个Project中还可以创建其他的Module(Hello World程序就是一个Module)
自我理解:Project可以看作是一个手机,Module可以看作是手机上的一个软件
整体结构:
1.manifests文件夹
manifests文件夹用于存放AndrodiManifest.xml文件(又称清单文件)
1.1 AndrodiManifest.xml文件(清单文件)
Android程序创建成功后,都会自动生成一个清单文件(AndrodiManifest.xml),该文件是整个项目的配置文件。程序中的四大组件(Activity、Service、ContentProvider、BroadcastReceiver)都需要在这个文件中注册,启动一个没有在AndrodiManifest.xml文件中声明过的组件,会抛出异常
另外在该文件中还可以给程序添加权限,在清单文件中配置的信息也会添加到Android系统中,当程序运行时,系统会找到清单文件中的配置信息,然后根据配置信息打开相应组件
AndrodiManifest.xml(文件内容):
<application>标签中内容:
- allowBackuo:设置是否允许备份应用数据
- icon:设置方形应用程序图标
程序运行后,会在虚拟机上生成相对应的软件,软件的图标就是用此属性设置
- label:指定显示在标题栏上的名称
- roundIcon:设置圆形应用程序图标
- supportsRtl:设置为true时,应用将支持RTL(Right-to-Left)布局
- theme:用于指定主题样式,就是能够应用于此程序中所有Activity或application的显示风格
- <activity android:name=".MainActivity">标签用于注册一个Activity
- <intent-filter>标签相当于过滤器
·action属性表示行为;设置为android.intent.action.MAIN表示当前应用程序中的主要入口,类似于java中的main方法
·<category android:name=“android.intent.category.LAUNCHER” />决定应用程序是否显示在程序列表里 - category属性表示当前应用显示在桌面程序列表中
2.java文件夹
java文件夹用于存放所有Java代码,在该文件夹中可以创建多个包,每个包可以存放不同的文件或Activity
2.1 MainActivity文件
MainActivity文件(java/第一个包下文件):主要用于完成界面的交互功能。内容如下:
MainActivity继承自AppCompatActivity,当Activity执行时首先会调用onCreate()方法,该方法中通过setContentView(R.layout.activity_hello_world)将布局文件转换成View对象,显示在界面上
3.res文件夹
res文件夹用于存放Android程序所用到的资源,例如图片、布局文件、字符串等
3.1 drawable文件夹
drawable目录用于存放图片及XML文件
3.2 layout文件夹
layout(布局文件)文件夹存放用于展示Android项目界面的布局文件
3.3 mipmap文件夹
mipmap目录用于存放应用程序图标,系统会根据手机屏幕分辨率(hdpi/mdpi/xhdpi/xxhdpi/xxxhdpi)匹配相应大小的图标
注:drawable目录和mipmap目录都用于保存图片资源
- drawable目录主要存放位图文件(PNG、JPEG、GIF),9Patch图片文件,绘制几何图形的资源文件(Shape Drawable、Drawable对象等XML资源文件)
- mipmap目录由多个子目录组成,存放需要屏幕分辨率的图片,可以提高显示性能,占用内存更少
3.4 values文件夹
values目录用于放置自定义的颜色、字符串、样式等
4.Gradle Scripts文件夹
Gradle Scripts文件夹用于存放项目创建的相关文件,可以修改SDK版本等问题