从使用Android Studio开始,Gradle就是一个绕不来的话题,之前并不是很重视Gradle,一直就没有去学习,到最近的项目发现Gradle实在太强大,Gradle作为构建工具,对比于Maven、Ant来说,在依赖管理、构建生命周期、加载构建系统组件都有很大的优势。
这个后面慢慢介绍,由于Gradle的构建脚本是用Groovy,对比于Xml的优势也更加方便快捷,下面我会从Groovy开始介绍。
Groovy简单介绍
Groovy,脚本语言,我其实不想叫它脚本语言的,作为一门领域特定语言(DSL),相当有特色,首先它是运行在java虚拟机中的,说白了,就是Groovy先编译成java字节码,然后通过jvm来执行这个java类,人家虽然叫做脚本语言,可是java执行的步骤咱也一步不少。
啥环境搭建就不一一介绍了,百度一堆
基础语法
数据类型
- 变量
定义的方法:正常定义和def定义,正常定义和java无差,但是def定义充分体现其脚本语言的优势了
def a = 1 (a.class = Interger)
def b = 0.01 (b.class = Double)
def c = "hello" (c.class = String)
不同于java,Groovy没有基础类型只有对象类型,当然定义是可以用基础类型定义的
def x = 1
println x.getClass().getCanonicalName()
//输出结果:java.lang.Integer
- 字符串
String
‘’’ ‘’’ 三个单引号 直接定义有格式的字符串
GString 可扩展字符串
“The sum of 2 and 3 equals ${2 + 3}” 输出结果也为The sum of 2 and 3 equals 5,类型为org.codehaus.groovy.runtime.GStringImpl
GString和 String 可以相互转换
- switch case
灵活 判断起来 更方便 不仅可以判断数值还可以判断类型
- for循环
for(i in 0…9)
对于map的循环也不需要迭代器, 直接循环取值
数据结构
容器类
- List
变量定义:List变量由[]定义,比如
def aList = [5