안드로이드

안드로이드의 다크 모드

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

안드로이드의 다크 모드 더 보기 »

System 앱의 퍼미션 획득

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

System 앱의 퍼미션 획득 더 보기 »

startActivity가 안돼요

startActivity 메소드(startActivityForResult 메소드 포함)는 파라미터로 전달된 인텐트(Intent) 정보로 액티비티를 실행한다. 안드로이드 책 처음마다 이 메소드 소개는 빠지지 않는다. 그렇게 많이 사용하는데, 왜 안될까? 확인이 쉬운 것부터 살펴보자. 액티비티 호출을 위해 만드는 인텐트 유형은 명시적 인텐트와 암시적 인텐트로 나뉜다. 인텐트를 잘 만들었는지 살펴보자. 명시적 인텐트는 호출할 대상 패키지와 패키지 속 액티비티 정보를 넣어야 한다. 명시적 인텐트를 …

startActivity가 안돼요 더 보기 »

블루라이트 앱 예제

시력에 나쁜 영향을 주는 블루라이트를 감소시키는 앱이 구글 플레이 스토어에 많이 올라와 있다. 블루라이트를 감소시키는 원리는 간단한데, 파란색 표현량을 줄여서 눈에 부정적인 영향을 줄이는 것이다.물론, 색표현이 왜곡되지만 사진이나 영상을 보는 경우를 제외하면 사용에 문제가 없기 때문에 사람들이 많이 사용한다. 만드는 방법은 화면에 필터를 씌워 파란색 광원을 줄인다. WindowsManager를 이용해 이에 대한 샘플을 만들어 보았다. 자세한 …

블루라이트 앱 예제 더 보기 »

AdapterViewFlipper을 이용한 위젯 예제

AdapterViewFlipper를 이용한 appwidget이 가능하다고 android.com에 나와있지만, 돌아가는 샘플은 찾을수가 없어 만들게 되었습니다. 자세한 내용과 소스는 Github에 있어요. 이제 위의 viewflipper를 활용해 멋진 위젯을 만들 수도 있겠죠?