編輯:關於Android編程
Android Studio默認使用Lambda表達式是會報錯的,即使你使用的是java 8,為了在android studio中使用lambda表達式,我們必須借助一個插件retrolambda ,該插件將java 8中的lambda表達式特性兼容到java 5。使用它也很簡單。
首先先項目根目錄下的build.gradle中加入
classpath 'me.tatarka:gradle-retrolambda:3.2.0'
最終整個文件會像這樣子
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
classpath 'me.tatarka:gradle-retrolambda:3.2.0'
}
}
allprojects {
repositories {
jcenter()
}
}
然後再module目錄下的build.gradle中使用插件,加入
apply plugin: 'me.tatarka.retrolambda'
並且在android節點下加入
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
最終整個文件就像這樣子
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
android {
compileSdkVersion 22
buildToolsVersion 22.0.1
defaultConfig {
applicationId cn.edu.zafu.rxdemo
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName 1.0
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}
現在讓我們試試lambda表達式,就拿View的點擊事件做實驗吧。
在使用lambda表達式之前是這樣子的
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), test, Toast.LENGTH_LONG).show()
}
});
使用了lambda表達式之後是這樣子的
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(v -> Toast.makeText(getApplicationContext(), test, Toast.LENGTH_LONG).show()
);
好了,運行一下項目,如果點擊按鈕出現了Toast說明你成功了,但是如果你運行出現ClassNotFound的錯誤的話clean一下項目,再編譯運行,就能成功運行了。
怎麼樣,有沒有發現代碼精簡了許多。這篇文章算是開始RxJava(RxAndroid)的學習之路的第一篇博文吧,畢竟RxJava大量使用了lambda表達式特性。雖然也可以不用lambda表達式,但是使用了lambda表達式後會顯得代碼特別精簡。
本文實例講述了Android編程實現網絡圖片查看器和網頁源碼查看器。分享給大家供大家參考,具體如下:網絡圖片查看器清單文加入網絡訪問權限:<!-- 訪問intern
掃描本地文件加載到item不限於應用到音樂播放器,其他Android工程,也可以使用SdcardSearchToList其他Android工程也可以使用,我現在做了很小的
前言:在進入今天正題前,還是老樣子先談談感想吧,最近感覺整個都失去了方向感,好迷茫!找工作又失敗了,難道Android真的飽和了?這兩天我一直沒出門,除了下樓哪外賣就是宅
為何產生同時適配手機和平板、UI和邏輯的共享。介紹Fragment也會被加入回退棧中。Fragment擁有自己的生命周期和接受、處理用戶的事件可以動態的添加、替換和移除某