Android - Lambda Expression

Bước 1:Cài đặt JDK
Để sử dụng trước tiên cần phải cài đặt JDK8 cho Java (Nếu đã cài đặt thì không cần)
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Bước 2: Cấu hình trong build.gradle(app)
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

Bước 3: Coding (VD)
// bình thường
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("DO_WORK","1");
Log.e("DO_WORK","2");
}
});
//lambda
button.setOnClickListener(v -> {
Log.e("DO_WORK","1");
Log.e("DO_WORK","2");
});

//bình thường
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("DO_WORK","1");
}
});
//lambda
button.setOnClickListener(v -> Log.e("DO_WORK","1"));

--> Android Studio sẽ gợi ý và chuyển về lambda Expression  nếu có thể --> Alt+Enter --> Replace with lambda

Cấu trúc tổng quát: (params)->{ your functions }
- params:0 hoặc 1 hoặc nhiều, nếu 1 có thể bỏ dấu () bao ngoài nhưng nếu không có param phải có một cặp () trống. Các param phân biệt nhau bằng dấu ","
- your function: nếu chỉ có một dòng, có thể bỏ {}

Tham khảo các bài viết chi tiết hơn:
https://edwardthienhoang.wordpress.com/2014/06/08/java-8-tutorial-co-ban-ve-lambda-expression/
https://techmaster.vn/posts/26315/hoc-lap-trinh-java-online-tu-co-ban-den-nang-cao
...


Nhận xét

Bài đăng phổ biến từ blog này

Android - Date Time - Lấy giá trị ngày, giờ theo định dạng tùy biến trong Android Studio

Android - Custom SearchView - Tạo khung tìm kiếm đơn giản trong Android Studio

Android - Image - Take Photo, Choose Photo from Gallery - Xử lý chụp ảnh, lấy ảnh trong Android Studio