• 【Android笔记02】Android目录结构及相关文件介绍


    这篇文章,主要介绍一下Android项目的目录结构及相关配置文件。

    目录

    一、Android目录结构

    1.1、工程目录结构

    1.2、各目录详解

    (1)manifests目录

    (2)java目录

    (3)res下的drawable目录

    (4)res下的layout目录

    (5)res下的mipmap目录

    (6)res下的values目录

    (7)res下的xml目录

    (8)Gradle Scripts目录

    二、清单文件详细介绍

    2.1、AndroidManifest.xml


    一、Android目录结构

    1.1、工程目录结构

    使用Android Studio工具创建一个App应用之后,这个App应用的基本目录结构如下所示:

    • 在Android Studio里面,采用【Android】视图,查看到的项目目录结构就是下面的样子。

    • 切换视图窗口。

    • 如果采用【Project】视图,则查看的是下面这个样子的。

    Android Studio将工程分为两类:项目(Project)和模块(Module)

    在一个项目【Project】里面,可以包含多个模块【Module】,每个模块都是可以单独运行的。

    1.2、各目录详解

    (1)manifests目录

    manifests目录下面,只有一个【AndroidManifest.xml】文件,这个文件是Android应用的启动配置文件,用于设定Android应用启动时候的一些参数信息,例如:启动图标、应用名称、主题、页面布局等等。

    (2)java目录

    java目录下面,有三个包目录,分别如下所示:

    这三个包目录下,就是我们需要编写的java源代码,其中两个是用于【单元测试】的包目录,从上面图可以看到,包名称后面添加了括号标识(androidTest、test)。 

    (3)res下的drawable目录

    res目录下的drawable目录,主要用于存放一些矢量图,或者我们自己添加的图片文件。

    注意:上面图片中,【drawable】目录下面有两个xml文件,其中一个后面标记了(v24),这个【v24】是Android 7.0版本以上的,主要是为了让矢量图兼容Android 7.0版本以上的应用程序。

    这里再说一下Android相关的版本信息,如下所示:

    • 2022年02月,发布【Android 13】版本,对应的SDK API是【33】。
    • 2021年10月,发布【Android 12】版本,对应的SDK API是【31】。
    • 2020年09月,发布【Android 11】版本,对应的SDK API是【30】。
    • 2019年08月,发布【Android 10】版本,对应的SDK API是【29】。
    • 2018年08月,发布【Android 9.0】版本,对应的SDK API是【28】。
    • 2017年08月,发布【Android 8.0】版本,对应的SDK API是【26/27】。
    • 2016年08月,发布【Android 7.0】版本,对应的SDK API是【24/25】。
    • 2015年09月,发布【Android 6.0】版本,对应的SDK API是【23】。
    • 2014年06月,发布【Android 5.0】版本,对应的SDK API是【21/22】。

    (4)res下的layout目录

    res目录下的【layout】目录,主要是存放应用的布局样式文件,文件是以xml格式保存的,一个Android应用可以有多个样式布局文件。这个目录下面,有一个默认给我们生成的【activity_main.xml】布局文件。

    (5)res下的mipmap目录

    res目录下的【mipmap】目录,主要用于存放一些App应用的启动图标,里面有默认的启动图标文件,如下所示。

    (6)res下的values目录

    res目录下的【values】目录,主要用于存放一些常量文件,例如:字符串常量、颜色相关常量、样式主题常量等等。

    (7)res下的xml目录

    res目录下的【xml】目录,主要用于定义一些规则文件。

    (8)Gradle Scripts目录

    【Gradle Scripts】目录,主要保存Android应用的一些构建配置文件,是Gradle的构建配置文件,Gradle和maven类似,都是用于项目的构建、管理等功能。

    • build.gradle文件:这个文件有两个,一个项目层面的配置文件,另一个是针对某个模块层面的配置文件。主要作用就是设置App的构建编译规则。
    • proguard-rules.pro文件:用于描述java源代码的混淆规则(类似于加密之类的)。
    • gradle.properties文件:用于配置编译工程的命令行参数,一般都不用改动,使用默认的就可以了。
    • settings.gradle文件:这个文件主要用于设置哪些模块需要构建编译。例如:【include ':app'】表示要编译app模块。
    • local.properties文件:项目的本地配置文件,这个文件是在工程编译之后自动生成的,用于描述本地开发电脑的环境配置信息,包括:SDK相关的路径等等。

    二、清单文件详细介绍

    2.1、AndroidManifest.xml

    每一个Android应用下面,都必须要有一个【AndroidManifest.xml】文件,并且文件名称必须一模一样,叫做:【AndroidManifest.xml】,这是App应用的配置文件,包含了App的配置信息,应用启动时候,读取这个配置文件,然后显式相应的界面。

    • 配置文件里面大致内容如下所示:
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    3. xmlns:tools="http://schemas.android.com/tools"
    4. package="com.android.demo">
    5. <application
    6. android:allowBackup="true"
    7. android:dataExtractionRules="@xml/data_extraction_rules"
    8. android:fullBackupContent="@xml/backup_rules"
    9. android:icon="@mipmap/ic_launcher"
    10. android:label="@string/app_name"
    11. android:roundIcon="@mipmap/ic_launcher_round"
    12. android:supportsRtl="true"
    13. android:theme="@style/Theme.Helloworld"
    14. tools:targetApi="31">
    15. <activity
    16. android:name=".MainActivity"
    17. android:exported="true">
    18. <intent-filter>
    19. <action android:name="android.intent.action.MAIN" />
    20. <category android:name="android.intent.category.LAUNCHER" />
    21. </intent-filter>
    22. </activity>
    23. </application>
    24. </manifest>
    • package: 包名称,是APP应用的唯一标识。
    • android:allowBackup:是否允许应用备份,允许用户备份系统应用和第三方应用的apk安装包和应用数据。
    • android:dataExtractionRules:应用可以将此属性设置为 XML 资源,在其中指定规则,以确定在备份或转移操作过程中您可以从设备复制哪些文件和目录。
    • android:fullBackupContent:指定应用备份规则。
    • android:icon:APP应用在手机上面显示的图标。
    • android:label:APP应用再手机上面显示的应用名称。
    • android:roundIcon:APP的圆角图标。
    • android:supportsRtl:是否支持从右往左的文字排列顺序。
    • android:theme:APP的显示风格,主题。

    以上大致就是Android基本的目录结构介绍,详细的可以去【Android 开发者官网查看】。

    综上,这篇文章结束了,主要介绍了Android项目的向目录结构及相关配置文件。

  • 相关阅读:
    嵌入式学习记录5.20(TCP并发服务器)
    程序的编译和链接
    聊聊Spring Cloud Gateway 动态路由及通过Apollo的实现
    过滤器和拦截器的区别
    vue2升级vue3:Vue Demij打通vue2与vue3壁垒,构建通用组件
    【附源码】计算机毕业设计JAVA晨光文具店进销存系统设计与开发
    arduino压力传感器
    【英语:基础进阶】D2.短句子关键词训练
    Quartz.Net详解
    Total Software Deployment为您的企业网络管理软件部署
  • 原文地址:https://blog.csdn.net/qq_39826207/article/details/125416701