Lambda表達式是在JDK 8中開始支持的一種函數(shù)式推導(dǎo)語言,能夠大量減少匿名內(nèi)部類那種冗余的代碼。在Android中,可以大量使用在設(shè)置監(jiān)聽,設(shè)置異步回調(diào)等場景。
Android Studio目前的版本還沒有直接支持Lambda表達式的支持,需要插件支持,當(dāng)然,JDK版本也必須使用JDK 8 或者以上(當(dāng)然過些時間會有更高版本的JDK)。
- 1.引入retrolambda插件:
在Project的build.gradle中添加
apply plugin: ‘me.tatarka.retrolambda‘
- 2.設(shè)置編譯選項(可能也可以不寫)
在Project的build.gradle的android節(jié)點中添加如下代碼
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
-
3.引入retrolambda的類路徑,在Module:app的build.gradle中的buildscript->dependencies節(jié)點中添加如下代碼
classpath ‘me.tatarka:gradle-retrolambda:3.2.0‘ 4.對build.gradle進行build
-
5.編寫測試代碼,簡單寫法如下
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView)findViewById(R.id.text);
textView.setOnClickListener( v -> Toast.makeText(getApplicationContext(), "Lambda", Toast.LENGTH_LONG).show());
}
6.運行查看是否正常