RxAndroid
https://brunch.co.kr/@yudong/34
위의 링크를 따라하면서 모르는 것 찾아본 결과
1. JackOption?
https://developer.android.com/guide/platform/j8-jack?hl=ko
Android는 Java 7 언어 기능 일체를 모두 지원하고, Java 8 언어 기능의 경우 버전에 따라 각각 다르게 부분적으로 지원함. 이 페이지에서는 사용할 수 있는 새로운 언어 기능, 이러한 기능을 사용할 프로젝트를 올바르게 구성하는 방법 및 발생할 수 있는 알려진 문제에 대해 설명합니다. 참고: Android용 앱을 개발할 때에는 Java 8 언어 기능을 사용하는 것이 가장 좋습니다. 프로젝트의 소스 및 대상 호환성 값을 Java 7로 유지할 수는 있지만, JDK 8을 사용하여 컴파일해야 합니다. Java 8 언어 기능에 대한 지원 기능을 사용하려면 Jack이라는 새 컴파일러가 필요합니다. Jack은 Android Studio 2.1 이상 버전에서만 지원됩니다. 따라서 Java 8 언어 기능을 사용하려면 Android Studio 2.1을 사용하여 앱을 빌드해야 합니다. |
그런데 따라서 해보니까 "Could not find method jackOptions() for arguments" 컴파일 에러가 났다.
https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html
Jack 툴체인은 지원 중단됩니다. 해당 프로젝트에서 Jack을 사용하는 경우 Android Studio의 기본 툴체인에 내장된 Java 8 지원을 사용하도록 마이그레이션해야 합니다. (...) Jack을 비활성화하고 기본 툴체인으로 전환하려면 모듈의
} |
jackOptions 부분만 제거하니 에러가 사라짐
-------------------------------------------------------------------------------------------------------------------
https://brunch.co.kr/@yudong/35
* for문 없이 반복적인 동작 수행 가능 (이에 대한 방법은 다양)
- range(X,N) (X부터 N까지)
- map()은 여러개 추가 가능
- subscribe()는 마지막 결과를 출력하기 위함
*람다표현식의 인자 생략 가능
원래: subscribe(text -> guguResult.append(text))
생략: subscribe(guguResult::append)
* Java는 객체지향 언어이지, 함수형 언어가 아님.
Java8에서 람다표현식 같은 함수형 프로그래밍 도구가 추가 되었음
-------------------------------------------------------------------------------------------------------------------
https://brunch.co.kr/@yudong/36
'Dev > Android' 카테고리의 다른 글
[Andorid] Resource(R.id / R.drawable) 를 문자열로 가져오기 (0) | 2019.04.26 |
---|---|
[Android] Network 기능 구현 관련 (0) | 2018.10.02 |
[Android] RxAndroid & RxJava (0) | 2018.10.01 |
Fabric - Crashlytics (0) | 2018.08.10 |
Listview (0) | 2018.07.03 |