All Posts

안드로이드 UIAutomator로 UI 테스트, 가장 쉽고 빠른 가이드

UIAutomator는 UI를 테스트하는 라이브러리입니다. UIAutomator는 블랙박스 테스팅이며, 두개 이상의 앱을 함께 테스트할 수 있습니다. UiDevice, Until, By, BySelector 클래스를 지원하며 이 클래스들로 테스트 코드를 작성할 수 있습니다.

15 Aug 2019

삼성 안드로이드 오딘(Odin), Linux, Windows 실행 파일 다운로드

오딘(Odin)은 삼성 갤럭시 폰에 펌웨어 바이너리를 다운로드하는 툴입니다. 안드로이드 디바이스의 내부 스토리지는 몇몇 파티션으로 나누어져 있고, 펌웨어 바이너리에서 해당 파티션에 맞는 파일을 알아서 flash해줍니다. Linux, Windows 실행 파일을 다운로드 할 수 있습니다.

11 Aug 2019

안드로이드 - UsageStatsManager로 앱 실행 기록 가져오기

UsageStatsManager는 앱 실행 기록을 제공하는 서비스입니다. 앱 기록을 Query할 수 있는 API를 제공하며, DAY, MONTH, YEAR의 시간 단위(Interval)로 구분된 결과를 받을 수 있습니다. 이것은 android.permission.PACKAGE_USAGE_STATS 권한을 요구합니다.

09 Aug 2019

나에게 맞는 인체공학(ergonomic) 키보드 찾기

인체공학(ergonomic) 키보드는 키의 위치를 변경하여 어깨를 펴고 타이핑하게 만들거나, 키의 위치가 평행하지 않고 손가락이 자연스럽게 닿는 곳에 위치하도록 만들었습니다. 대표적으로 Microsoft sculpt, Truly Ergonomic, Mistel Barocco, Kinesis, ErgoDox, X-Bows 등의 제품이 있습니다.

09 Aug 2019

안드로이드 - UID(User Id), GID(Group Id)와 Security

Android는 리눅스의 UID(User Id)와 GID(Group Id)를 사용하여 앱마다 다르게 권한을 설정합니다. 앱이 어떻게 UID와 GID를 할당받는지 알아보고, 권한을 어떻게 확인하는지 알아보겠습니다. 또한 보안 측면에서 어떻게 사용되는지 알아보겠습니다.

07 Aug 2019

안드로이드 - 코드로 앱(apk) 설치, 삭제하는 방법

안드로이드에서 코드로 앱(apk) 설치 및 삭제하는 방법을 설명합니다. 앱은 Google PackageInstaller에게 앱을 삭제하거나 설치하도록 요청할 수 있습니다. 설치 요청하려면 REQUEST_INSTALL_PACKAGES 권한이 있어야 하고, 삭제를 요청하려면 REQUEST_DELETE_PACKAGES 권한이 필요합니다.

02 Aug 2019

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

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

30 Jul 2019

안드로이드 Drawable을 Bitmap으로, Bitmap을 Drawable로 변경하는 방법

Drawable을 Bitmap으로 변경하는 방법 및 Bitmap을 Drawable로 변환하는 방법을 소개합니다. 또한 AdaptiveIconDrawable을 Bitmap으로 변환하는 방법을 알아봅니다. 안드로이드의 리소스들은 기본적으로 Drawable로 가져옵니다. 하지만 간혹 코딩을 하다보면 Bitmap을 인자로 받는 애들이 있고, 이 때문에 변환이 필요합니다.

28 Jul 2019