在android studio中使用lambda

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.運行查看是否正常

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容