Gradle Retrolambda Plugin (ссылка)
Что: Плагин, который позволяет юзать лямбды в старых версиях джавы (нативно они доступны в java 8 ).
Зачем: повышает читабельность кода, избавляет от необходимости писать "лишний"
шлак код.
Примеры:
было
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/** делаем что-то **/
}
});
стало
view.setOnClickListener(v -> /** делаем что-то, однострочный блок. **/);
или
view.setOnClickListener(v -> {
/** делаем что-то, многострочный блок. **/
});
Ещё частый гость - Runnable с единственным методом run.
слушатель для кнопки "оставить отзыв".
было
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName())));
Metrica.reportEvent("rate us dialog : rate");
rateHelper.setState(RateHelper.STATE_RATED);
dialog.dismiss();
/** показываем диалог "спасибо за отзыв" через 1,2 сек */
handler.postDelayed(new Runnable() {
@Override
public void run() {
showDialog_RateUsRated();
}
}, 1200);
}
};
стало
View.OnClickListener listener = v -> { // упрощение #1
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName())));
Metrica.reportEvent("rate us dialog : rate");
rateHelper.setState(RateHelper.STATE_RATED);
dialog.dismiss();
/** показываем диалог "спасибо за отзыв" через 1,2 сек */
handler.postDelayed(() -> showDialog_RateUsRated(), 1200); // упрощение #2
};