-
[Java 8] Android Studio 3.x와 Java 8Software/Android : 안드로이드 2019. 3. 12. 01:01반응형
Android Studio 3.0 버전이 2017년 10월에 정식 배포된 지 벌써 1년이 훌쩍 지났다.
당시 Android Studio 3.0에 새롭게 탑재된 신규 기능들 (Android Profiler 나 APK Profiling and debugging)과 Kotlin을 정식 지원 등 많은 변화가 있었지만 그 중 많은 안드로이드 개발자들의 관심을 받은 것은 Java 8 기능과 라이브러리들에 대한 지원이었다. 구글이 Kotlin을 안드로이그 공식 개발 언어로 지정한 것이 꽤나 신선한 충격이었지만 기존의 Java를 사용해 오던 안드로이드 개발자들에게 있어서는 Kotlin보다 Java 8에 대한 지원이 더욱 반가운 소식이었을 것이다.
그래서 이번 포스팅에서는 Android Studio 3.0이상 버전부터 지원하는 Java 8 언어의 기능들과 API를 살펴보는 시간을 가져 보도록 하겠다. 참고로 Android Studio 3.0 부터는 Java 7 언어의 기능 일체를 모두 지원하고, Java 8 언어의 기능을 버전에 따라 다르게 부분 지원한다.
다음은 Android Studio 3.0부터 지원하는 Java 8 기능들을 정리한 표이다.
Java 8 언어 기능
Java 8 언어 기능
호환 가능 minSdkVersion
모두.
하지만 람다에 의해 캡처되는 값을 전부 직렬화할 수 있을 때만 람다 직렬화가 지원됩니다.
모두.
모두.
하지만 형식 주석 정보는 런타임이 아니라 컴파일 시간에 확인할 수 있습니다. 또한, 이 플랫폼은 API 레벨 24 이하에서 TYPE을 지원하지만 ElementType.TYPE_USE 또는 ElementType.TYPE_PARAMETER를 지원하지는 않습니다.
모두.
모두.
위 표를 알 수 있듯이 지원되는 Java 8 기능은 총 5개로 람다 식의 직렬화와 형식 주석의 Type과 같이 특정 조건이 필요한 것들 을 제외하고는 해당 기능들을 일체 지원한다.
(해당 기능들을 클릭하면 Oracle에서 제공하는 Tutorial 문서를 볼 수 있음)
아래는 사용가능 한 Java 8 API로 총 6개가 있으며 해당 API는 모두 API 레벨 24 이상부터 호환 가능 하다.
(해당 API도 모두 Oracle에서 제공하는 Documents 사이트에 링크되어 있음)
Java 8 언어 API
Java 8 언어 API
호환 가능 minSdkVersion
API 레벨 24 이상
API 레벨 24 이상
API 레벨 24 이상
API 레벨 24 이상
API 레벨 24 이상
다음 포스팅에서는 각각의 Java 8 기능들과 API들에 대해서 조금 더 자세하게 다룰 예정이다. 그러나 앞으로 다룰 내용들의 대부분이 Oracle의 문서를 참고 혹은 번역을 통해 구성될 예정이니 영어를 잘 하시는 분들은 해당 사이트에서 직접 풍부한 정보와 가이드를 받기를 추천한다.
출처: https://developer.android.com/studio/write/java8-support
반응형'Software > Android : 안드로이드' 카테고리의 다른 글
[ImageView] ScaleType: Matrix (예제) (0) 2018.08.20 [ImageView] ScaleType: Matrix (행렬) (0) 2018.08.14 댓글