Android

안드로이드의 네트워크 변경 확인

안드로이드 7.0부터 백그라운드 작업 최적화를 위해 몇 가지 브로드캐스트를 받을 수 없게 되었다. 이중에 네트워크 연결 상태 변경을 알리는 CONNECTIVITY_ACTION는 포함된다. 다만, (일명) AndroidManifest.xml에 미리 등록하여 PackageManager에서 관리하는 정적 브로드캐스트리시버에 한하며, Context.registerReceiver()에 등록하여 사용하는 동적 브로드캐스트리시버는 가능하다. 그럼, 정적 브로드캐스트리시버를 동적 브로드캐스트리시버로 바꾸면 될까? CONNECTIVITY_ACTION은 네트워크 상태가 변경되었다는 사실만 알려주기 때문에, 현재 네트워크 상태가 WiFi이나 […]

안드로이드의 네트워크 변경 확인 더 읽기"

안드로이드의 설정(Settings)

안드로이드는 단말에서 사용하는 설정(setting)에 관련된 정보를 Settings과 Settings 안의 클래스들을 통해 제공한다. 하지만, 안드로이드 셋팅 앱(com.android.settings)이나 시스템 앱이 아니라면 이 값을 참조하지 않거나 한 두개 정도 참조할 것이다. Settings 클래스 Settings 클래스는 설정의 하부에 포함된 메뉴로 진입할 수 있는 액션(Action)을 상수로 선언하고 있다.  이 상수를 이용하면 접근성 메뉴, 계정 메뉴, 블루투스 설정, 네트워크 설정 등의

안드로이드의 설정(Settings) 더 읽기"

안드로이드 개발 관련 도구들의 릴리즈 노트

안드로이드 스투디오에서 안드로이드 개발 환경 설정에 필요한 툴들의 업데이트를 알려주는 기능이 있다. 안드로이드 스투디오 자체 업데이트가 나오거나 Build Tool, Platform Tool 최신버전이 나오면 팝업을 통해 알려준다. 하지만, JDK나 Gradle, Gradle plugin 또는 형상관리 도구는 알려주지 않는다. 새로운 버전이 나왔거나 현재 사용하는 버전의 변경사항이 뭔지 궁금해진다면 아래의 웹사이트를 직접 방문해보자. 참조 Android Studio Release notes JDK 8

안드로이드 개발 관련 도구들의 릴리즈 노트 더 읽기"

gradlew 실행 시 SSLHandshakeException

안드로이드 스투디오는 gradle을 이용해 프로젝트를 빌드할 수 있다. 명령창에서도 프로젝트 빌드를 할 수 있도록 gradlew.bat 파일(gradle의 wrapper)도 제공한다. 프로젝트의 루트(‘/’)에서 gradlew.bat를 실행하면 첫 실행 시 Gradle 사이트에서 gradle 바이너리를 받아 적당한 위치에 저장하고 설치한 후 안드로이드 프로젝트를 빌드할 수 있도록 해준다. 그런데, 아래와 같은 에러와 함께 설치부터 안되는 경우가 있다. >gradlew Downloading https://services.gradle.org/distributions/gradle-3.3-all.zip Exception in

gradlew 실행 시 SSLHandshakeException 더 읽기"

로컬브로드캐스트(LocalBroadcast)

안드로이드의 브로드캐스트는 컴포넌트 간 통신할 수 있는 대표적인 기능이다. 서포트 라이브러리 v4에는 같은 프로세스 안의 컴포넌트끼리 통신하는 로컬브로드캐스트(Local Broadcast)를 지원한다. 로컬브로드캐스트의 장점으로 3가지를 언급하고 있다. 브로드캐스트가 앱(프로세스) 밖으로 전달되지 않으므로, 우리 앱의 정보가 다른 앱으로 샐 염려가 없다. 다른 앱에서 우리 앱으로 로컬브로드캐스트를 보낼 수도 없다. 안드로이드 시스템을 통해 보내는 전역(Global) 브로드캐스트에 비해 효율적이다. 사용법도

로컬브로드캐스트(LocalBroadcast) 더 읽기"