一、安卓项目结构
1、manifests文件夹
Android系统配置文件夹,包含一个AndroidManifest.xml文件;
AndroidMainifest.xml文件是每个android项目必须要包含的文件(项目唯一),创建项目时默认就会生成这个文件,它配置了android运行的基本属性,具有很重要的作用。灵活配置文件中的属性可以处理复杂的页面逻辑操作、简化代码复杂度、提高灵活度等。下面看一下创建项目时默认生成的配置文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApplication"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
此文件是xml语言编写的,因此在这个文件的最上方也添加了一个xml标签并设置了其version和encoding属性,这里还添加了几个标签,含义如下:
manifest标签:是整个文件的父标签,这个标签中添加了两个属性,xmlns是命名空间属性,同样需设置这个属性的属性值为:http://schemas.android.com/apk/res/android才可以使用"android:"为首的属性;package属性表示包名,这个属性的属性值为新建项目时设置的。
application标签:表示整个android应用,在项目中是唯一的,在这个标签中添加了几个属性:allowBackup属性设置为true表示允许备份应用的数据;icon属性设置了这个APP在桌面上显示的icon图标;label属性设置APP在桌面上显示的名称。
activity标签:一个Activity可以理解成一个APP的界面,这里只添加了一个name属性,设置属性值为 .MainActivity,这里的这个 "." 表示当前Activity的包名,即name属性值为"包.Activity名"。注意,项目中的每一个Activity都需要在这个布局文件中添加配置。
intent-filter标签:顾名思义,此标签可以添加过滤,一般在隐式启动时用来过滤和匹配Activity。
action标签:添加这个标签并设置其name属性为android.intent.action.MAIN表示这个Activity为项目的主Activity,项目启动时会首先启动这个Activity。
category标签:添加这个标签并设置其name属性为android.intent.category.LAUNCHER,项目将在程序列表中显示,即上图显示在桌面上的图标,若去除这个标签该项目将不会出现在程序列表中。
2、java文件夹
存放Java代码的文件夹,新建项目时默认生成了三个文件夹,com.first.project文件夹用来存放Java文件,这里包含一个名为MainActivity的Java文件,是新建项目时默认生成的。第二个和第三个文件为测试代码文件夹,不是十分常用。
3、res文件夹
存放Android项目的资源文件,包含四个文件夹:drawable(图片资源文件夹)、layout(布局资源文件夹)、mipmap(图片资源文件夹,存放项目图标)、values(存放数值资源文件)。
PS:res下所有的资源文件都会在R.java文件下生成对应的资源id,我们可以直接通过资源id访问到对应的资源,这个R文件可以理解为字典,res下每个资源都都会在这里生成一个唯一的id!