1. 코틀린 특징 1.1 코틀린/JVM 컴파일과 실행 실행 버튼을 누르고 Run _.kt 파일을 선택하면 인텔리제이가 kotlinc-jvm 컴파일러를 사용해서 코틀린 코드를 *_컴파일** 한다. 즉, 우리의 코틀린 코드를 JVM 에서 실행 할 수 있는 바이트 코드로 변환한다는 뜻이다. 하지만 코틀린은 JVM 에만 국한되지 않는다. 코틀린은 자바스크립트로 컴파일 될 수 있으며, JVM 없이 바로 실행되는 네이티브 바이너리로도 컴파일 될 수 있다. 1.2 코틀린 REPL 때에 따라서는 작은 코드를 실행 할 때 어떻게 되는지 테스트해 보고 싶을 때가 있다. 이것은 코틀린 언어를 배울 때 특히 유용하다. 다행스럽게도 인텔리제이는 파일을 생성하지 않고 코드를 빨리 테스트하는 도구를 제공한다. 이 도구를 코틀린 R..
1. 개요 안드로이드 6 부터 앱이 백그라운드에서 처리하는 작업으로 인해 소모 되는 배터리를 줄이기 위해 도즈(Doze) 와 어플대기 모드(App Standby) 정책을 추가했습니다. 안드로이드 7 부터는 세분화된 도즈 정책을 추가하였습니다. 이러한 배터리 효율 정책은 기기나 어플을 수면 상태로 만들어버리고 여러가지 제한이 발생하기 때문에 이러한 제한이 어플의 핵심 기능을 방해한다면 큰 문제가 발생하게 됩니다. 2. 도즈 (Doze) 2.1 안드로이드 6 (Marshmallow / 6.0 / API 23) 2.1.1 조건 충전기 연결이 되지 않은 배터리 동작이며, 화면이 꺼진 상태로 움직이 없는 경우가 일정 시간 이상 지속 되는 경우 진행됩니다. 2.1.2 제한 도즈가 진행되면 제한이 발생되고 도즈의 중..
소개 구글 I/O 에서 dark theme 에 대해서 발표한 내용이다. Dark theme 를 끄고 켜는 방식으로 변경 됬다고 함. Dark theme 의 작동 방식은 크게 4가지로 구분 되어 짐 Option A: Android Dark Theme 사용 Theme.AppCompat.DayNight : 이미 사용 가능 Theme.DeviceDefault.DayNight : Device 스타일에 맞춤 ThemeOverlay.DeviceDefault.Accent.DayNight : Device 스타일에 맞춤 근데 함정은 빡치게도 위 3가지 다 안됨 아놔... Option B: Dark Theme 를 강제 On/Off 사용 사용자의 설정 여부와 상관 없이, 앱 내부 코드로 활성/비활성화 시킬 수 있다. Opti..