文章目录

  • 前言
  • 一、Gradle
    • 1.1什么是Gradle?
    • 1.2Gradle是一个构建工具,那么为什么要用构建工具?
  • 二、项目结构
  • 三、app目录结构
  • 四、res目录结构
  • 总结

前言

Android工程的项目结构比较复杂,在进行Android开发前必须对Android项目的工程结构有一个清晰的认识,这样才能在开发道路上走的轻松。


一、Gradle

1.1什么是Gradle?

Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。

1.2Gradle是一个构建工具,那么为什么要用构建工具?

如果开发每次实现功能时都需要手动的进行编译、单元测试和打包等工作,那显然会非常耗时而且也容易出现问题,因此项目自动化应运而生,它有以下优点:

1. 它可以尽量防止开发手动介入从而节省了开发的时间并减少错误的发生。
2. 自动化可以自定义有序的步骤来完成代码的编译、测试和打包等工作,让重复的步骤变得简单。
3. IDE可能受到不同操作系统的限制,而自动化构建是不会依赖于特定的操作系统和IDE的,具有平台无关性。

二、项目结构

当我们创建完一个安卓项目后,其项目的目录结构如下所示

1 .gradle和.idea:这两个目录下都是Android Studio自动生成的,无须关心,也不要手动编辑。

2.app:存放项目的代码和资源,开发的集中地。

3.gradle:这个目录下包含gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。

4.gitgnore:版本控制工具,用来将指定的目录或文件排除在版本控制外。

5.build.gradle:项目全局的gradle构建脚本,一般不需要修改

6.gradle.properties:全局的gradle配置文件,这里配置的属性将会影响到项目中所有的gradle编译脚本。

7.gradlew和gradlew.bat:用于在命令行界面中执行gradle命令,其中gradlew是在linux或mac系统,gradlew.bat是在windows系统使用。

8.local.properties:用于指定本机中AndroidSDK路径,通常内容是自动生成,除非本机SDK位置发生变化,否则无须修改。

9.settings.gradle:用于指定项目中所有引入的模块,新工程demo只有一个app模块,所以该文件中就只引入了app这一个模块。


三、app目录结构

项目中的代码、资源等几乎都在这里,后面开发也基本在这里。

1.build:包含了一些在编译时自动生成的文件,无需过多关心。

2.libs:若项目中使用到了第三方jar包,就需要把这些jar包都放在libs目录下,放在这个目录下的jar包都会被自动添加到构建路径去。

3.androidTest:这个是用来编写androidTest测试用例的,可以对项目进行一些自动化测试。

4.java:放置java代码的地方。

5.res:項目里用到的所有图片(drawable)、布局(layout)、字符串、样式、颜色(values)等资源存放在这。

6.AndroidManifest.xml:整个安卓项目的配置文件,在程序中定义的所有四大组件,都需要在这个文件里注册,另外还可以在这里给应用程序添加权限声明。

7.test:编写单元测试案例。

8.gitgnore:版本控制。

9.build.gradle:app模块的gradle构建脚本,文件中会指定很多项目构建相关的配置。

10.proguard-rules.pro:指定项目代码的混淆规则,如果不希望代码被人破解,通常会将代码混淆。


四、res目录结构

項目里用到的所有图片(drawable)、布局(layout)、字符串、样式、颜色(values)等资源存放在这。

1.drawable:存放图片
2.mipmap:存放图标
3.layout:放布局xml文件
4.values:放字符串、样式、颜色等配置
注意:“-”后面内容是为了更好地兼容各种设备。(不同分辨率)


总结

本文主要介绍了Android项目的结构,虽然工程文件较多,但只要理解每个文件夹的作用和含义就能对项目结构有一个清楚的认识,为未来的开发之路打下坚实的基础。


Android开发-Android项目结构相关推荐

  1. 原生Android开发基础项目结构介绍

    原生Android开发基础项目结构介绍 1.软件整体结构 2.具体的页面书写 3.实例分析 4.后续     下面先来总结一下软件的基本目录结构,这一般是开发的关键,只有明白了软件的目录结构,才能更加 ...

  2. 【Android开发小项目】2、猜数字游戏 You win or you suck?

    文章目录 Android开发小项目_2.猜数字游戏 界面Preview 实现方式:拖动Platte 对每个组件进行命名 Java活动代码 注:部分代码解释 parseInt方法简介 新建Wiget对象 ...

  3. Android开发——创建项目和软件图标

    Android开发--创建项目和软件图标 一.SDK安装及加装 1.将环境搭建好过后,点击Android Studio,就会开始进入软件,如果你没有另外下载SDK在你的电脑上,他会出现一个警示提示框, ...

  4. Android开发——Android手机屏幕适配方案总结

    0. 前言 Android的屏幕适配,即使得某一元素在Android不同尺寸.不同分辨率的手机上具备相同的显示效果,这个问题一直以来都是我们Android开发者不得不面对的问题.本文参考了很多前人的博 ...

  5. Android开发-Android studio自带模拟器使用中文拼音输入法

    Android开发-Android studio自带模拟器使用中文拼音输入法 搜狗输入法下载 搜狗输入法安装 修改模拟器语言 搜狗输入法下载 上篇文章中我们在Android studio中创建了X86 ...

  6. Android开发:程序目录结构详解:activity主要方法等

    HelloWorld程序的目录结构概述 我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidM ...

  7. 源码下载:74个Android开发开源项目汇总

    1. ActionBarSherlock ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所 ...

  8. android开发中Settings结构简单分析

    Settings界面结构简单分析 Setting是android系统很重要的模块,这个模块并不是很复杂,这部分也一直在看,很多时候都是在看某个具体的选项,比如WLAN,蓝牙这样具体的源码,但是对于主界 ...

  9. 基于chromium for android开发Android浏览器

    在上一篇文章<< Chromium for Android开源了 >>中谈到了Google已经完全开源了Chromium for Android,这样我们就完全可以开发与Chr ...

  10. Android开发——Android中的二维码生成与扫描

    0. 前言 今天这篇文章主要描述二维码的生成与扫描,使用目前流行的Zxing,为什么要讲二维码,因为二维码太普遍了,随便一个Android APP都会有二维码扫描.本篇旨在帮助有需求的同学快速完成二维 ...

最新文章

  1. 光缆能预警地震?谷歌做到了!毫秒级反应速度,140万公里海缆有望成为报警器...
  2. GridView 用 checkbox 全选并取值
  3. mysql函数和索引冲突问题_Mysql索引常见问题汇总
  4. 在Silverlight中使用Socket进行通信(1)Socket请求-回复方式的简易数据交换
  5. 让IE支持Css3属性(圆角、阴影、渐变)
  6. 适配器模式的极简概述
  7. C#中的IO流操作(FileStream)
  8. 云计算解码:技术架构和产业运营
  9. ActiveXObject ADODB.Stream封装
  10. pdf转换器注册码及pdf转换器使用步骤
  11. GPS地图坐标转百度地图坐标
  12. php包含那点事情[WOOYUN]
  13. 水下环境线结构光传感器的校正模型
  14. 用JAVA写个飞机小游戏玩玩吧
  15. JAVA-建立TCP的客户端和服务端
  16. 使用第三方软件管理苹果设备
  17. E420笔记本升级固态硬盘
  18. git的学习笔记(二):git远程操作
  19. 离散数学_十章-图 ( 1 ):图的相关定义
  20. Windows10安装cuda总是显示“XXX为失败或者XXX未安装”

热门文章

  1. vs2017编译x265源码
  2. 单位计算机安全和保密措施,安全管理及保密措施
  3. java框架面试题及答案,年薪50W
  4. 《程序员代码面试指南》题目与题解列表
  5. 5万字 | 2020大厂面试总结,PDF供下载
  6. java从地址串中解析提取省市区-完美匹配中国所有地址
  7. k2路由器刷华硕固件
  8. 阅读笔记《全景探秘游戏设计艺术》
  9. excel wind插件使用_这些超实用的Excel插件,你要是都知道,确定老司机无疑了
  10. 漫画小说听书三合一分销平台源码