Android开发自学笔记(二):工程文件剖析

Android开发自学笔记(二):工程文件剖析

本篇文章主要介绍 Android 工程的文件结构和主要文件作用,加深对 Android 工程的理解。

工程文件结构

Android 工程一般都有以下文件/文件夹:

.
├── libs
├── src
│   ├── androidTest
│   ├── main
│   └── test
├── build.gradle
├── gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle

主要文件/文件夹介绍如下:

  • libs 文件夹:存放本地依赖库
  • src 文件夹:存放主要代码文件和测试文件,包含了三个子文件夹
  • main 文件夹:放置应用的主要代码文件
  • test 文件夹:存放单元测试的代码
  • androidTest 文件夹:存放 UI 测试的代码
  • build.gradle:整个项目的构建脚本
  • gradle 文件夹:Gradle 相关的文件
  • gradle.properties:Gradle 配置文件,用于指定项目的一些属性值
  • gradlewgradlew.bat:Gradle Wrapper 脚本
  • settings.gradle:Gradle 项目配置

主要文件详细说明

build.gradle

build.gradle 文件是整个项目的构建脚本。它使用 Gradle DSL 语言编写,用于指定应用的版本、编译选项、依赖库的引入等。其中,build.gradle 文件的语法包含了三个部分:buildscript、plugins 和 android。

// build.gradle
buildscript {
    // ...
}
plugins {
    // ...
}
android {
    // ...
}

buildscript 中,我们可以指定 Gradle 的配置信息,如指定 Gradle 插件和第三方库等。

plugins 中,我们可以指定 Gradle 插件。

android 中,我们可以指定 Android 构建选项,如应用包名、版本号、签名信息等,也可以指定应用依赖的其他第三方库。

src

src 文件夹一般是整个项目最重要的文件夹,其中包含了 Android 工程的源代码。src 文件夹包含了三个子目录: main、test、androidTest。其中:

  • main:处理底层应用逻辑,包含一个应用的全部代码和资源文件,如 Java、Kotlin、资源文件、配置文件等。
  • test:用于编写 Unit Tests,处理应用逻辑的测试代码。
  • androidTest:用于编写 UI Tests,处理 Activity、Fragment、Intent、View 等 UI 相关的测试代码。

gradle.properties

gradle.properties 文件存放有各种 Gradle 相关的属性配置。每一个属性都有一个特殊的键值来引用它。在 Android 项目中,可以通过 gradle.properties 文件配置一些全局常量和默认值。

例如:

# install.gradle
android.enableJetifier=true
android.useAndroidX=true

gradle/wrapper

gradle/wrapper/ 文件夹中主要存放了 Gradle 的 Wrapper 脚本,即 gradlew 和 gradlew.bat,用于指定项目使用的 Gradle 版本。当你下载一个新项目命令行执行 compile 或 package 命令时,gradle wrapper 会自动下载指定版本的 Gradle 程序并执行。这样就解决了不同项目使用不同版本 Gradle 的问题。

例如:

// gradle/wrapper/gradle-wrapper.properties
# Gradle设置
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

示例说明

示例一

假设我们的应用中需要使用 Glide 库实现图片的异步加载。在 build.gradle 文件中添加以下代码来引入 Glide 库:

dependencies {
    implementation 'com.github.bumptech.glide:glide:4.9.0'
}

Glide 库就会被添加到我们的应用工程中,可以直接使用。注意,这里的 implementation 是 Gradle 新版本中的写法,如果你的 Gradle 版本过低则需要使用 compile。

示例二

假设我们在应用中需要修改默认的资源文件。我们可以在 src/main/res 目录下找到和 strings.xml 同名的 strings.xml 文件,打开它并修改其中的内容,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">My Application</string>
</resources>

修改其中的 "My Application" 为我们希望修改的内容即可。

结论

本文(Android开发自学笔记(二):工程文件剖析)介绍了 Android 工程的文件结构以及主要文件的作用。通过学习本文,您应该可以更好地理解 Android 工程的构建流程和文件结构,帮助您更好地进行 Android 开发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android开发自学笔记(二):工程文件剖析 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • Oracle 中XML处理函数介绍

    下面是“Oracle 中XML处理函数介绍”的详细攻略。 一、XML类型 在Oracle中,可以使用XMLType类型表示XML文档。XMLType是Oracle中非常重要的一个类型,可以用来进行XML文档的存储、修改和查询等操作。XMLType类型既可以在表中作为字段类型,也可以作为存储对象类型,也可以用于存储CLOB字段,也可以在SQL语句中使用。 –…

    html 2023年5月30日
    00
  • asp MYSQL出现问号乱码的解决方法

    1. 问题描述 在ASP集成开发环境中(如:ASPIDE,DW等)使用MYSQL数据库时,当数据表中包含中文字符时,查询出的结果出现乱码,甚至出现问号。这种情况通常被称为“MYSQL问号乱码”。 2. 问题解决 为了解决“MYSQL问号乱码”的问题,以下是两种方法: 方法一:修改MYSQL服务器默认字符集 将MYSQL服务器默认字符集修改为utf8,以解决“…

    html 2023年5月31日
    00
  • XML加ASP实现网页“本地化”

    XML(可扩展标记语言)和ASP(活动服务器页面)是现代网站开发中常用的技术。XML可以用于结构化数据的存储和交换,而ASP则可以动态生成网页内容并与数据库交互。 本地化是指将网站内容和页面元素(如日期、货币符号、图像)调整为跟用户语言和地区相适应的方式。在实现本地化时,XML和ASP可以配合使用,实现灵活且易于维护的解决方案。 以下是实现“XML加ASP实…

    html 2023年5月30日
    00
  • CentOS7.3怎么安装?使用DVD ISO镜像安装CentOS7.3的方法

    以下是使用DVD ISO镜像安装CentOS 7.3的方法: 下载CentOS 7.3 ISO镜像:首先,您需要从CentOS官网下载CentOS 7.3 ISO镜像。您可以选择下载DVD ISO镜像或Minimal ISO镜像。在本教程中,我们将使用DVD ISO镜像进行安装。 制作CentOS 7.3安装盘:在下载完CentOS 7.3 ISO镜像后,您…

    html 2023年5月17日
    00
  • Android TextView设置背景色与边框的方法详解

    让我为您详细讲解一下“Android TextView设置背景色与边框的方法详解”。 概述 在Android开发中,有时需要为TextView添加背景色和边框,以使TextView看起来更美观、更具有层次感。本文主要介绍如何为TextView设置背景色和边框。 设置背景色 为TextView设置背景色非常简单,只需在布局文件或代码中设置android:bac…

    html 2023年5月31日
    00
  • 拳皇13怎么设置按键 拳皇13按键设置图文教程

    以下是拳皇13按键设置的攻略: 打开拳皇13游戏:首先,打开拳皇13游戏。在游戏主界面中,选择“选项”菜单。 进入按键设置:在“选项”菜单中,选择“按键设置”选项。这将打开按键设置窗口。 设置按键:在按键设置窗口中,您可以设置每个按键的功能。首先,选择您想要设置的按键。然后,选择您想要分配给该按键的功能。您可以选择攻击、跳跃、防御、特殊技能等功能。最后,点击…

    html 2023年5月17日
    00
  • mobaxterm怎么使用?MobaXterm使用图文教程

    MobaXterm是一款功能强大的远程终端软件,支持SSH、Telnet、RDP、VNC等多种协议,同时还集成了X11服务器和图形化SFTP客户端等实用工具。下面是MobaXterm的使用图文教程: 步骤1:下载和安装MobaXterm 打开MobaXterm官网(https://mobaxterm.mobatek.net/)。 点击“Download”按钮…

    html 2023年5月17日
    00
  • JSP开发导引

    JSP开发导引 JSP(Java Server Pages)是一种动态网页技术,使用JSP技术可以生成动态网页。下面是JSP开发的完整攻略: 步骤1:安装和配置Java环境 JSP需要在Java环境下运行,因此需要安装Java并配置Java环境变量。安装Java请参考官方文档。 步骤2:选择JSP开发工具 选择一款适合自己的JSP开发工具,常见的有Eclip…

    html 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部