android 开发 工程结构,Android开发系列——基础篇2:APP工程结构

在安装完成Android studio,进行开发之前,对于工程目录结构的了解是必不可少的。

APP工程结构

工程目录说明

Android studio的工程目录分为两个层级:

第一层是通过File—>New—>New project创建的新的工作空间(就是新的工程项目)

第二层是通过File—>New—>Module创建的新模块(一个单独的APP工程,运行在工作空间中)

以下是一个工程项目的目录结构图

e12ab2900455667efe2deaed6eab0b89.png

该工程结构主要由两大结构构成:app和Gradle Scripts。

app

app目录下有3个子目录,功能说明如下:

(1)manifests子目录,下面只有一个xml文件,为AndroidManifest.xml,是App运行的配置文件

(2)java子目录,下面有3个com.example.myapplicationtest3的包(以com.example.项目名称为后缀的),其中第一个包存放的是APP的工程的java源代码,后面两个包存放的是测试用的java代码。

(3)res子目录,存放的是APP工程的资源文件。下面默认有4个子目录:

drawable目录:存放的是图形描述文件与用户上传的图片

layout目录:存放的是APP页面的布局文件。

mipmap目录:存放是的启动图标等图标类文件。

values目录:存放的是一些常量定义文件,比如字符串常量string.xml、像素常量dimens.xml、颜色常量colors.xml、样式风格定义styles.xml等。

Gradle Scripts

主要是工程的编译配置文件,该目录下主要有:

(1)build.gradle,该文件分为项目级和模块级两种,用于描述APP工程的编译规则。

(2)proguard-rules.pro,该文件用于描述java文件的代码混淆规则。

(3)gradle.properties,该文件用于配置编译文件的命令行参数,一般无须改动。

(4)settings.gradle,配置哪些模块在一起编译。初始内容为inclue’:app’,表示只编译APP模块。

(5)local.properties,项目的本地配置,一般无须改动。该文件是在工程编译时自动生成的,用于描述开发者本机的环境配置,如SDK的本地路径等。

配置文件build graddle

项目(Project)级别的build gradle文件一般无须改动,只需要关注模块(Module)级别的build graddle文件。这里对build graddle文件进行相关参数的文字注释。

apply plugin: 'com.android.application'

android {

//编译指定的SDK版本号。如29表示使用Android 10编译

compileSdkVersion 29

//指定编译工具的版本号。具体版本号可在SDK安装目录查询。这里的头两位数字必须与编译SDK版本号一致

buildToolsVersion "29.0.3"

defaultConfig {

//指定该模块的应用编号,也是APP的包名。自动生成,无需修改

applicationId "com.example.myapplicationtest3"

//指定APP适合运行的最小SDK版本号

minSdkVersion 22

//指定目标设备的SDK版本号,即最优版本号

targetSdkVersion 29

//指定APP的应用版本号

versionCode 1

//指定APP的应用版本名称

versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

}

buildTypes {

release {

//指定是否开启代码混淆功能,true表示开启,false表示无需

minifyEnabled false

//指定代码混淆规则文件的文件名

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

}

}

}

//指定APP的版本依赖信息

dependencies {

//指定引用jar包的路径

implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'androidx.appcompat:appcompat:1.1.0'

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

//指定单元测试编译用的junit版本号

testImplementation 'junit:junit:4.12'

androidTestImplementation 'androidx.test.ext:junit:1.1.1'

androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

implementation 'androidx.mediarouter:mediarouter:1.0.0'

}

小结

对于工程目录结构的熟悉度直接决定了开发的效率,比如如何进行配置,如何存放图片等资源,所以要时时加深印象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值