首页 > 系统 > Android > 正文

Android构建工具Gradle知识1

2019-11-08 00:01:37
字体:
来源:转载
供稿:网友

Android构建工具Gradle知识1 1.Groovy介绍 Groovy运行在java虚拟机的动态语言。 Groovy编译成Byte Code运行在JVM上 这里写图片描述 2.Groovy开发环境 官网: http://www.groovy-lang.org GDK: http://www.groovy-lang.org/api.html 2.1 基本知识 a.注释:单行 // 多行 /**/ b.可以不用分号结尾 c. 动态类型: 定义关键字def,可以省略(跟js很像) def variable=1 def svar=”hello” def int num=10 指定类型 d. 函数参数可以不指定类型 String test(arg1,arg2) { } e.函数返回值可以无类型 def test2() { } 指定类型后不用加def String getString() { return “再别康桥” } f.Groovy对String支持 def str=’I love ′单引号内容不对转义 def str2=”hi” def str3=”I like say str2”输出Ilikesayhi双引号中有, $表达式求值 def str4=”“” 预备 开始 结束”“” 三引号 字符串支持随意换行 g.函数调用 可以不加括号 PRint(“hoho”) === print “hoho” 2.2 数据类型 2.2.1.基本数据类型 java中的包装类 2.2.2.容器类 Groovy的容器三种: List:链表,底层对应List接口,一般用ArrayList作为实现类 Map: 键值表 底层对应java 中的LinkedHashMap Range: 范围 List扩展 2.2.2.1. List 定义: 元素可以是任何对象 def list=[5,”mystring”,true] 不用担心越界问题 list[100]=10 长度: list.size 2.2.2.2 Map 定义: def map=[“key1”:”value1”] key必须是字符串 key可以用” 或 “” 包起来 不加也识别成字符串 获取: 获得key map.keyName 获得的value map[“key1”] map.anotherkey=dfadsfa”” 添加新元素 2.2.2.3 Range List扩展 def arange=1…5 不包含最后一个元素的写法 def aarange=1..<5 输出头 aarange.from 输出尾 aarange.to

这涉及到Groovy一个原则 Groovy会采用java封装属性的方式,添加get、set方法 2.2.3 闭包(closure) 一种数据类型 def clo={ String param1,int param2-> println “this is code” } 格式: def xxx={parameters->code] def xxx={无参数,纯code} 调用闭包: 闭包对象.call(参数) 闭包对象(参数) 注意:闭包没定义参数,会有默认参数it相当于java中的this 闭包注意点: a.省略圆括号 函数最后一个参数是闭包可以省略括号 Public static List each(List self,Closure clo) def ia=[4,5,6] La.each{ println it } b.如何确定Closure参数 2.3 脚本类 Groovy中类及其变量默认public 通过groovy xxx.groovy调用 2.4 文件I/O操作 封装java的I/O类 这里写图片描述 a.读文件 def target=new File(文件名) target.eachLine{ String.oneLine->println oneLine } b.获得文件内容 target.getBytes() 返回byte[] 也可以写成 target.bytes c.使用InputStream def is=target.newInputStream() is.close d. 使用闭包操作inputStream 不需要close target.withInputSteam( ism-> } 相关SDK地址: 这里写图片描述 e.写文件 <<输出 实现文件复制 def target=new File(文件名) target.withOutPutStream{ os->srcFile.withInputStream{ ins-> os”<<(这块用<<就行,csdn识别有问题)”ins } } <<对应 leftShift方法 2.5 xml操作 Groovy使用GPath解析XML文件 这里写图片描述 使用过程: // 第一步,创建 XmlSlurper类 def xparser=new XmlSlurper() def target=new File(“test.xml”) //第二步,Gpath GpathResult gpr=xparse.parse(targetFile) //gpr 代表根元素response,通过e1,e2,e3可以访问各级子元素 def book4=gpr.value.books.book[3] //得到book4的author元素 def author=book4.author //获取元素属性 和 值 assert author.text()==’Manuel De Cervantes’ //获得属性 author.@id=’4’ 或者 Author[‘@id’] ==’4’ //属性一般是字符串,可以通过toInteger转换成整数 author.@id.toInteger()==4

在android中的使用 获取AndroidManifest.xml中的版本号 Def af=new XmlSlurper().parser(“AndroidManifest.xml”) Println af[‘@android:versionName’] 或者 Println af.@’android:versionName’


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表