이전포스트

자바 8 람다(Lambda) 표현식을 안드로이드에서 사용하기

freemmer 2016. 3. 23. 14:13

Java8 에서 여러 항목이 추가 되었다.

그 중에 ‘Lambda expressions’ 과 ‘Method references’는 나에게 있어서 참 매력적인 항목 이었다. 특히나 ‘Method references’는 C++로 소켓 서버를 만들때 자주 사용하던 기법에서 필요한 기능이라 더욱 반가웠다.


장황한 말보다는 코드!!

retrolambda를 적용하면 다음과 같은 코드들이 가능해 진다.





위와 같은 방식의 코딩을 Android Project에서도 사용하기로 하고 방법을 찾아보았다.

이 글은, OSX(Mac)에서 Android Studio를 사용하여 retrolambda를 설정하는 방법을 다룬다.


1. JDK8을 설치한다.

2. 프로젝트의 build.gradle을 수정한다.

3. 모듈의 build.gradle을 수정한다.



1. JDK8을 설치한다.


– 이미 JDK7이 설치되어 있겠지만 없다면 JDK7을 설치한다.

– JDK8을 다운로드 하여 설치한다.


가이드 문서를 보면 JAVA_HOME, JAVA8_HOME와 같은 환경변수를 설정해 사용하라고 되어 있지만 Android Studio (현재 버전 1.5)에서 환경 변수를 가져오지 못해 빌드 에러가 난다.


 


2. 프로젝트의 build.gradle을 수정한다.


buildscript의 repositories에 mavenCentral()을 추가하고 dependencies에 classpath ‘me.tatarka:gradle-retrolambda:3.2.5’를 추가한다.

(현재 classpath ‘me.tatarka:gradle-retrolambda:3.2.5’가 최신이다)



3. 모듈의 build.gradle을 수정한다.

모듈의 상단에 위의 내용을 추가한다.

통상 apply plugin: ‘com.android.application’ 바로 다음 라인이 될 것이다.



출처 및 참고

https://leanpub.com/whatsnewinjava8/read

https://github.com/evant/gradle-retrolambda

http://zserge.com/blog/android-lambda.html

https://github.com/evant/gradle-retrolambda/issues/61

반응형