Gradleシリーズ(1)Gradle入門紹介およびGroovy基本文法紹介
このシリーズの記事は、Android Gradleプロジェクトの一般的な知識点についてまとめたもので、プロジェクト構築スクリプトでよく使われています.文中の内容の大部分は、著者が『Android Gradle権威ガイド』を勉強している間にまとめた学習ノートで、文中の内容があなたに役に立つか、不適切なところがあると思ったら、貴重なアドバイスと伝言を残してください.最後にgradleという知識について、時間が許せば「Android Gradle権威ガイド」を読むことを強くお勧めします.
Gradleシリーズ(1)Gradle入門紹介およびGroovy基本文法紹介Gradleシリーズ(2)Taskの紹介と使い方Gradleシリーズ(3)Gradleプラグインの役割および使い方Gradleシリーズ(4)Android Gradle未完、、
1、Gradle基本入門紹介 1、gradle/wrapper (1)wrapperはgradleのパッケージであり、チーム開発中にGradleの構築バージョン を統一するのに便利である.(2)生成wrapper:プロジェクトのルートディレクトリでgradlew wrapper(macで./gradlew wrapper)コマンド を実行する.
2、gradle常用コマンドライン (1)実行可能なすべてのタスクgradlew tasks を表示(2)taskのヘルプ情報gradlew help--task:your_taskName (3)依存gradlew–refresh-dependencies assembleを強制的にリフレッシュするキャッシュによって引き起こされた、依存ライブラリはコードの中で実行後に依存するか古いバージョンに依存するかの問題を修正した.
1、Groovy基本文法 GroovyはJavaと完全に互換性があり、buildスクリプトファイルにjavaコードを書くことができ、非常に柔軟で便利です. 1、文字列 (1)Groovyの一重引用符二重引用符は文字列 を表すことができる.(2)区別:単一引用符の文字列には演算能力がなく、二重引用符の文字列には演算能力がある. 列子:
2、集合 (1) List (2) Map task printlnMap{ def map1 = [‘width’: 1024, ‘height’:768] println map1.getClass().name
3、関数 Groovyにおける関数の定義宣言の構文は,kotlinメソッドの宣言や定義のような他の関数プログラミング言語向けの構文と非常に類似している. (1)関数の括弧は省略可能な である.(2)returnキーワードは省略可能な である.(3)コードブロックはパラメータ伝達として用いることができるが,これが閉パケットパラメータの用法 である.
4、閉パッケージ 閉パケットは、実はコードブロック である.(1)集合のeach法は既に用いられているが,以下ではそれを例に,同様の閉パケット機能を実現する.
Gradleシリーズ(1)Gradle入門紹介およびGroovy基本文法紹介Gradleシリーズ(2)Taskの紹介と使い方Gradleシリーズ(3)Gradleプラグインの役割および使い方Gradleシリーズ(4)Android Gradle未完、、
1、Gradle基本入門紹介
1、Groovy基本文法
def name = " "
println ' : ${name}'
println " : ${name}"
:
: ${name}
:
task pintList{
def numList = [1,2,3,4,5,6,7]
println numList.getClass().name
println numList[1] ///
println numList[-1] ///
println numList[-2] ///
println numList[1..3] ///
/// each
numList.each{
println it
}
}
println map1['width']
println map1.height
map1.each{
println "Key:${it.key}, Value:${it.value}"
}
} task invokeMethod{
method1(1,2)
method1 1,2 ///
}
def method1(int a, int b){
println a+b
}
task printlnMethodReturn{
def add1 = method2 1,2
def add2 = method2 5,3
println "add1:${add1},add2:${add2}"
}
def method2(int a, int b){
if(a>b){
a
}else{
b
}
}
///numList List
numList.each({ println it})
/// ,
numList.each(){
println it
}
/// ,
numList.each{
println it
}
task helloClosure{
customEach{
println it
}
}
def customEach(closure){
/// ,
for( int i in 1..10){
closure(i) /// { println it}
}
}