在Android Studio中使用Lambda運算式,androidlambda
Lambda運算式是在JDK 8中開始支援的一種函數式推導語言,能夠大量減少匿名內部類那種冗餘的代碼。在Android中,可以大量使用在設定監聽,設定非同步回調等情境。
目前Android開發已經漸漸到從Eclipse 的ADT遷移到了Android Studio,但是Android Studio目前的版本還沒有直接支援Lambda運算式的支援,需要外掛程式支援,當然,JDK版本也必須使用JDK 8 或者以上(當然過些時間會有更高版本的JDK)。
1.引入retrolambda外掛程式:
在Project的build.gradle中添加
apply plugin: 'me.tatarka.retrolambda'
2. 設定編譯選項(可能也可以不寫)
在Project的build.gradle的android節點中添加如下代碼
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
3. 引入retrolambda的類路徑,在Module:app的build.gradle中的buildscript->dependencies節點中添加如下代碼
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.運行查看是否正常