주간 안드로이드 뉴스 #187

Android Weekly(http://androidweekly.net/)는 매주 발행되는 안드로이드 뉴스레터입니다. 영어 기사를 정독할 시간이 없는 분을 위해 핵심 꼭지를 요약했습니다.

주간 안드로이드 뉴스를 요약해 드립니다. Android Weekly 187 원문도 읽어보세요.


안드로이드 스튜디오 팁 모음

  • Language Injection
    • IntelliJ가 제공하는 Language Injection 기능을 통해 JSON 스트링 입력을 쉽게 할 수 있습니다. search.xml
    • ⌥+Return이나 ⌘+⇧+A를 누르고 Inject Language/Reference를 찾아보세요.
  • REGEXP 테스트
    • 정규식 표현 테스트를 할 수 있습니다. search.xml search.xml
  • 스마트 완성
    • ⌥+Space를 누르면 visibility scope 내의 클래스 이름, 메서드, 멤버 변수, 키워드 등을 검색할 수 있는 건 알고 계시겠죠? 다만 해당 글자로 시작하는 대상을 대소문자 구분해서 검색되므로 불편할 수 있습니다. search.xml
    • ⌥+⇧+Space를 누르면 current context에 적합한 요소 중 해당 문자를 포함하는 요소를 검색할 수 있습니다. search.xml
  • INTELLIJ 15 자체 REST 클라이언트
    • Postman이나 Paw 등의 추가 프로그램 도움 없이도 API 호출을 테스트해볼 수 있습니다.

이런 개발 뉴스를 더 만나보세요

SDK 버전 설정

안드로이드는 상위 호환성을 중시하기 때문에 compileSdkVersion, minSdkVersion, targetSdkVersion 개념이 있습니다.

  • compileSdkVersion
    • compileSdkVersion으로 Gradle에 어떤 안드로이드 SDK 버전으로 앱을 컴파일할지 알려줍니다. 즉, 지원할 수 있는 가장 높은 API 버전을 의미합니다.
    • 컴파일 시에만 적용되므로 runtime 동안에는 영향을 미치지 않습니다.
    • 항상 최신 버전의 SDK로 지정하는 것이 좋습니다.
  • minSdkVersion
    • minSdkVersion은 앱이 지원할 가장 낮은 API 버전을 지정합니다.
    • Google Play에서 사용자의 기기에 앱이 설치될 수 있을지 결정하는 요소입니다.
    • minSdkVersion 보다 높은 API를 사용하면 lint에서 경고를 띄워 알려주므로 미리 방지할 수 있습니다.
    • Support Library나 Google Play Service는 자체 minSdkVersion을 가지므로 이 중 가장 높은 버전 이상으로 맞춰야 합니다.
  • targetSdkVersion
    • targetSdkVersion이 바뀌어야 앱의 행동 로직이 바뀌므로, 안드로이드가 상위 호환성을 제공할 수 있습니다.
    • 예를 들어 Android 6.0에서 도입된 선택적 권한 부여(runtime permissions model, 자세한 설명은 여기를 참조하세요)행동 로직은 API 23을 targetSdkVersion으로 지정해야 적용됩니다.
  • Gradle로 SDK 버전 설정하기

    • compileSdkVersion, minSdkVersion, targetSdkVersion을 잘 설정해야 합니다. 모듈의 build.gradle 파일에서 다음과 같이 설정할 수 있습니다.
android {
  compileSdkVersion 23
  buildToolsVersion "23.0.1"

  defaultConfig {
    applicationId "com.example.checkyourtargetsdk"
    minSdkVersion 7
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
  }
}
  • compileSdkVersion과 달리 minSdkVersion과 targetSdkVersion은 AndroidManifest.xml에 다음처럼 생성됩니다. 해당 파일의 내용을 고쳐도 무시되며 Gradle에서 설정한 대로 적용됩니다.
<uses-sdk android:targetSdkVersion=”23" android:minSdkVersion=”7" />
  • 세 종류의 SDK 버전 관계는 다음과 같습니다.
minSdkVersion <= targetSdkVersion <= compileSdkVersion
  • 안정적인 앱을 원한다면 다음처럼 설정하세요.
minSdkVersion (최소 레벨의 SDK) <= 
    targetSdkVersion == compileSdkVersion (최대 레벨의 SDK)

원문 보기

더 많은 기사를 Android Weekly 187 원문에서 확인하세요.

컨텐츠에 대하여

이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.


Eunjoo Im

Realm Asia 팀에서 일하는 임은주입니다. iOS와 안드로이드 개발자로, 현재 Realm의 기술 컨텐츠 생산 및 관리에 주력하고 있습니다.

4 design patterns for a RESTless mobile integration »

close