안드로이드 람다 적용하기
안드로이드 람다 적용하기
안드로이드에서 람다를 적용하는 방법을 정리한다.
현대의 컴파일러는 충분히 똑똑해졌다.
문장의 종결인 세미콜론(;)도 필요 없어 지고 심플한 코드를 작성하여 가독성이 더 좋은 코드를 작성할 수 있게 되었다.
자바는 타 언어에 비해 세련되지 못한듯 하지만 버전 업이 되면서 문법의 빈약함을 차츰 보완해 내는 듯 한다.
자바 8부터 람다라는 코드 규칙을 지원한다. 람다가 무엇인지 또 어떤 장점이 있는지 요약 한 후 안드로이드에 적용하는 방법을 기술하고자 한다.
람다에 대해 잘 설명한 글이 있어 링크를 첨부한다.
http://www.hanbit.co.kr/network/view.html?bi_id=1961
글에서 람다를 사용하는 이유의 핵심은 아래와 같다.
비즈니스 로직 하나를 위해 틀에 박힌 코드와 의미 없는 구현을 하게 만드는 것이다.
코드를 작성하다보면 러시아 인형인 마트료시카같은 느낌이 들 때가 있다.
특정 비즈니스 로직을 한 줄 추가하기 위해 코드 블럭을 작성하고 그 내부 블럭을 다시 작성하여 모든 껍데기가 완성되면 비로서 비즈니스 로직 한 줄을 추가하여 코드를 완성한다.
별 의미도 없는 틀에 박힌 코드를 작성하고 정작 필요한 코드는 1줄로 끝날때 그 허무함을 달래줄 수 있는 대안이 람다이다.
전체적인 코드의 불필요한 분량을 효율적으로 줄여 가독성을 대폭 향상 시켜줄 수 있는 대안 또한 람다이다.
안드로이드에서 사용하기 위해서는 Gradle Plugin을 설정해야 한다.
https://github.com/evant/gradle-retrolambda
build.gradle 파일에 다음과 같이 추가한다.
buildscript { repositories { mavenCentral() } dependencies { classpath 'me.tatarka:gradle-retrolambda:3.2.5' } } // Required because retrolambda is on maven central repositories { mavenCentral() } apply plugin: 'com.android.application' //or apply plugin: 'java' apply plugin: 'me.tatarka.retrolambda'
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
프로가드 설정
-dontwarn java.lang.invoke.*
댓글
댓글 쓰기