일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- textview
- binding
- livedata
- data
- intent
- LifeCycle
- Kotlin
- 앱바
- tabbar
- Compose
- Button
- TEST
- Navigation
- 앱
- appbar
- CustomScrollView
- activity
- Flutter
- drift
- scroll
- 계측
- ScrollView
- Coroutines
- Dialog
- viewmodel
- textfield
- 안드로이드
- android
- 테스트
- DART
- Today
- Total
Study Record
[안드로이드] API 수준 이해와 호환성 탐색 본문
😶 API ?
Android 는 앱뿐만 아니라 시계, TV, 자동차 등 코드를 실행할 수 있는 장치의 수가 다양하다. 그중에서 앱을 대상으로 하는 Android OS 는 알파벳 순서로 된 음식 이름으로 된 버전 번호가 있다. (ex. Android Oreo, Android pie 등)
Android API 레벨은 Android 버전을 의미한다. (ex. API 19 = Android 4.4(KitKat)
사용자가 사용하고 있는 핸드폰 기기의 Android 버전이 서로 다를 수 있기 때문에 앱 프로젝트를 생성할 때 앱이 지원하는 최소 API 수준을 지정해야 한다!
😶 build.gradle 파일
앱 프로젝트의 build.gradle(Module: [App Name]) 파일은 앱 모듈과 관련된 빌드 매개변수 및 종속성을 정의한다.
android {
compileSdk 33
defaultConfig {
applicationId "com.example.basic_text"
minSdk 24
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
...
}
compileSdk 는 앱을 컴파일하는 데 사용하는 Android API 수준을 지정한다. 앱에서 지원할 수 있는 최신 Android 버전이다.
targetSdk 는 앱을 테스트한 가장 최근의 API 이다.
midSdk 는 앱의 최소 API 수준이다. 이 API 레벨보다 낮은 기기는 앱을 실행하지 못한다.
😶 호환성 탐색
Android API 수준에 대한 앱 개발에 대해 Android 프레임워크 팀은 여러 가지 많은 작업을 수행했다.
2011년 이전 버전과 호환되는 클래스와 유용한 기능을 제공하는 Google 개발 라이브러리인 첫 번째 지원 라이브러리를 출시했고 2018년 지원 라이브러리의 이전 클래스와 기능을 많이 포함하고 확장된 라이브러리인 Android Jetpack 을 발표했다.
Android Jetpack 라이브러리의 네임 스페이스는 androidx 이다. 이에 관해 build.gradle(Moudle: [AppName]) 파일에서 종속성(dependencies)을 참고할 수 있다.
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
'안드로이드' 카테고리의 다른 글
[안드로이드] 앱 이름과 아이콘 바꾸기 (0) | 2023.06.14 |
---|---|
[안드로이드] ImageView 사용하기, coil 라이브러리(웹 URL로 이미지 로딩) (0) | 2023.06.14 |
[안드로이드] View 입력 이벤트 개요 (click, long click, focus, key) (0) | 2023.06.14 |
[안드로이드] 버튼 만들기 (Button, TextView) + ripple (0) | 2023.06.13 |
[안드로이드] kotlin, java jdk, gradle 버전 맞추기 (0) | 2023.06.13 |