HOME > android > feature

Android - File-Based Encryption과 Direct Boot

Encryption은 데이터를 암호화하는 과정을 말합니다. Full-Disk Encryption, File-Based Encryption가 있습니다. Direct Boot는 File-Based Encryption에 실행되는 앱을 지원하기 위한 정책입니다. Encryption와 Direct Boot에 대해서 알아보겠습니다.

05 Oct 2019

안드로이드 Q - Thermal API로 발열 상태 모니터링

Android Q에서 디바이스의 발열 상태(Thermal status change)를 알 수 있는 API를 제공합니다. 발열 상태는 THERMAL_STATUS_NONE, THERMAL_STATUS_LIGHT 등 총 7개입니다. 리스너는 addThermalStatusListener로 등록하며 인자로 OnThermalStatusChangedListener 객체를 전달해야 합니다.

30 Jul 2019

안드로이드 Q - Background Activity 실행 제한

구글은 Q에서 사용자와 상호작용하지 않는 앱이 백그라운드에서 액티비티를 실행하지 못하도록 제한하였습니다. 백그라운드에서 액티비티를 실행해야 하면 노티피케이션으로 사용자에게 알림을 주어 실행하도록 할 수 있습니다. 자신의 앱이 백그라운드에서 액티비티를 실행시킨다면 새로운 정책에 맞게 수정이 되어야 합니다.

19 Jul 2019

Android App Bundle로 Apk 크기를 더 작게 만들기

안드로이드 앱 번들은 Apk의 사이즈를 줄이기 위한 목적으로 P에서 소개되었습니다. 앱 번들은 리소스를 분할하여 필요한 것만 전달하는 기술입니다. 앱 번들의 구조와 동작 원리에 대해서 알아보고, 기반 기술인 Split apk, Dynamic delivery, Dynamic feature에 대해서 알아보겠습니다.

09 Jun 2019

안드로이드 Q - Background Location 권한 제한

개인정보 강화를 위해 Q에서 위치 권한을 세분화하였습니다. 사용자는 앱이 위치 정보를 Foreground 또는 Background에서만 사용하도록 제한할 수 있습니다. 그래서 앱이 실행되지 않으면 위치 정보를 얻지 못할 수 있습니다. 새로운 정책에 대해서 기존 앱은 어떻게 대응을 해야 하는지 설명하였습니다.

09 Jun 2019

안드로이드 Q - 새로운 저장소 정책, Scoped Storage 알아보기

Q에서 외부 저장소를 다루는 새로운 정책 Scoped Storage가 소개되었습니다. 이전과 가장 큰 차이점은 SAF(Storage Access Framework)를 사용하도록 강제하는 부분입니다. SAF를 통해서 디바이스가 사용자의 모든 파일을 알지 못하게 하고 필요한 파일만 접근 권한을 부여하도록 만들었습니다. 구글의 이런 정책은 보안을 향상시키기 위한 목적입니다.

08 Jun 2019

안드로이드 Q - Settings Pannel에 대해서 알아보기

세팅 패널(Settings Pannel)은 3rd party 앱에서 직접 세팅의 UI를 패널로 띄우는 기능입니다. 패널로 띄우면 자신의 앱을 가리지 않기 때문에 불필요한 앱 전환이 필요없습니다. 세팅 패널은 4개의 설정을 지원합니다.(Internet, Wifi, NFC, Volume)

01 Jun 2019

안드로이드 Q - Mainline, APEX에 대해서 알아보기

Android Q의 Mainline과 APEX는 부분적으로 시스템 업데이트를 할 수 있도록 만들어줍니다. Treble이 OS 업그레이드 속도를 높이는데 도움이 되었다면, Mainline과 APEX는 업그레이드 없이 모듈단위로 업데이트가 가능하도록 만들었습니다. 또한, 디바이스들이 공통 모듈을 사용하게 하여 파편화를 막아주는 역할을 합니다.

31 May 2019

안드로이드 - JobScheduler로 백그라운드 작업 실행하는 방법

Android의 JobScheduler는 앱이 백그라운드 작업을 예약할 수 있는 서비스입니다. 조건을 세분화하여 디바이스가 충전 중일 때 Job이 동작하도록 만들 수도 있습니다. JobScheduler, JobService, JobInfo에 대해서 알아보고 간단히 예제를 만들어 보았습니다.

04 Mar 2019

Android P - Non-SDK 인터페이스는 제한

Android 9, 파이(API 28)부터 Non-SDK 호출은 제한이 됩니다. 앱 안정성의 문제로 구글은 Android 9부터 이런 동작을 제한한다고 합니다. Greylist, Blacklist, whitelist, light-greylist, dark-greylist를 두어 규제의 속도를 늦추고 있습니다.

19 Nov 2018

안드로이드 Adaptive Icon 적용하는 방법

안드로이드 어댑티브 아이콘(Adaptive Icon)에 대해서 소개합니다. Adaptive Icon을 사용하면 여러 스타일의 아이콘으로 변경할 수 있게 합니다. 삼성, 화훼이 등 여러 제조사는 아이콘을 자신들에 맞게 변경하였고, 이 때문에 아이콘의 중요한 부분이 잘리는 일이 빈번했습니다. 구글은 이런 문제를 해결하기 위해 Adaptive Icon을 개발하였습니다.

23 Jun 2018

안드로이드 - Autosizing TextView 구현 방법

Autosizing TextView는 TextView 내에서 글자 양에 따라 자동으로 글자 크기를 조절해주는 기능입니다. 선형적으로 증가 또는 감소하는 Granularity가 있고, 주어진 Size들에서만 변경이 되는 Preset Size가 있습니다. 이 기능을 사용하면 쉽게 TextView의 가독성을 높일 수 있습니다.

24 Jan 2018

안드로이드 - Downloadable Font에 대해서 알아보기

Android의 Downloadable Font는 App이 Font Provider를 통해서 Font를 다운받아 사용할 수 있는 기능입니다. App size가 줄어드는 장점과 기본 Font는 Googe Play Service가 제공하기 때문에 Font 관리가 편하다는 장점이 있습니다. 다른 App과 공유를 하고 싶으면 Provider를 구현해야 합니다.

16 Jan 2018

안드로이드 O - 앱 카테고리(App categories) 살펴보기

Android Oreo(8.0)에서 소개된 App category에 대해서 정리하였습니다. App category는 Data Usage, Storage Usage 등의 앱에서 자신의 앱이 어떻게 분류되었으면 좋을지 선택하는 것입니다. 예를들어, PlayStore에서 App category를 이용하여 Game app을 분류할 수 있습니다.

10 Jan 2018