android

Volley의 Apache HTTP client 라이브러리 참조 제거

Volley는 2013년 구글에서 공개한 안드로이드 네트워크 라이브러리다. 구글 플레이 스토어 팀에서 개발/적용 후 공개한 것이 Volley의 시작으로 알려져 있다. 지금은 인기가 예전만 못하지만, 공개 당시에는 가장 좋은 네트워크 라이브러리 중 하나였다. Volley에 대한 자세한 소개는 공식 트레이닝 사이트(한글)를 참조하자. 공식 Apache HTTP client 라이브러리(이하, 라이브러리)는 자바 진영의 대표적인 HTTP 라이브러리로, 수많은 개발자를 네트워크와 관련된 혼란에서 […]

Volley의 Apache HTTP client 라이브러리 참조 제거 Read More »

Volley와 Stetho로 네트워크 디버깅

Stetho는 2015년 페이스북에서 공개한 안드로이드 디버깅 도구다. 크롬 브라우저에 내장된 개발자 도구인 DevTools를 활용해 안드로이드 앱의 네트워크, 데이터베이스, 프리퍼런스, 레이아웃 등을 디버깅 할 수 있다. 더 자세한 기능 소개는 공식 페이지를 참조하자. 네트워크 라이브러리와 연계 동작하는 라이브러리들은 보통 Volley를 지원한다. 하지만, Stetho의 네트워크 디버깅 기능은 앱이 OkHttp나 안드로이드의 HttpUrlConnection를 써야 쓸 수 있다. 환경이 맞다면

Volley와 Stetho로 네트워크 디버깅 Read More »

The user 12345 does not meet the requirements to access device identifiers

안드로이드는 휴대폰을 구분할 수 있는 변경 불가능한 식별자(이하 편의상 UID, Unique identifier)를 제공해 왔다. 공식 문서에 언급된 API들은 아래와 같다. Build getSerial() TelephonyManager getImei() getDeviceId() getMeid() getSimSerialNumber() getSubscriberId() Build나 TelephonyManager 클래스를 통해 제공되는 이 기능이 안드로이드 10(API29 혹은 Q OS)부터 개인정보 보호 강화 정책에 따라 추가 제약을 받는다고 한다. targetSdkVersion 기준 28까지는 READ_PHONE_STATE 권한을 가진

The user 12345 does not meet the requirements to access device identifiers Read More »

안드로이드의 다크 모드

다크 모드를 쉽게 설명하면, 어두운 배경에 밝은 글씨로 화면을 구성하는 것을 가리킨다. 오랫동안 다양한 서비스(이클립스, 인텔리제이 등)나 운영체제(윈도우 10, Mac OS 등)가 단순하게는 월페이퍼 변경 수준에서 복잡하게는 색상 구성(theme 혹은 appearance로 주로 표현)변경까지 다양한 방법으로 지원해 왔다. 스마트폰에서는 안드로이드의 리소스 관리에 한정자 값(qualifier value)으로 ‘night/nonight’가 API8에 포함되면서 기능을 사용할 방법이 열렸다. 본격적으로 삼성 갤럭시 One

안드로이드의 다크 모드 Read More »

System 앱의 퍼미션 획득

설명하기 번거롭고 아무도 궁금해하지 않는 System 앱으로서 permission 획득(granted)하는 방법을 알아보자. 미리 이야기 할 것은, 안드로이드에 system이란 protectionLevel은 없다. signatureOrSystem이 있는데, 이 protectionLevel을 가진 permission의 획득 방법 두 가지 중 system 앱으로서 획득하는 방법에 대해 설명한다. 설명을 하기 위해서는 먼저 앱을 단말 내장 여부에 따라 구분해야 한다. 앱을 내장 여부에 따라 구분하는 일이 적어서 용어가

System 앱의 퍼미션 획득 Read More »