반응형
1. 조건문을 통한 분기 처리
- 가장 이해가 쉽고 좋은 방법으로 생각됨
예제 코드
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
permissionCheck();
}
2. @TargetApi
- Lint에러를 발생시키지 않는 역할만 함(minSdkVersion보다 높은 version에 선언된 API 사용할 경우 Lint에러 발생)
- (Lint는 안드로이드 버전별로 어떤 API를 사용하는지에 대한 정보를 가지고 있음)
- 버전에 상관없이 호출 및 동작이 되며, 버전에 따라 에러가 나는 API가 있다면 "1. 조건문을 통한 분기 처리"를 사용자가 직접 구현하여 에러를 방지 해야 함.
예제 코드
@TargetApi(Build.VERSION_CODES.M)
void targetApiFunc() {
Toast.makeText(this, "targetApiFunc() 호출", Toast.LENGTH_SHORT).show();
}
3. @RequireApi
- minSdkVersion이 지정한 버전보다 낮을 경우 바로 호출시에는 컴파일 에러 발생
- "1. 조건문을 통한 분기 처리"를 통해 호출해야 에러가 발생하지 않음
예제 코드
@RequiresApi(Build.VERSION_CODES.M)
void requireApiFunc() {
Toast.makeText(this, "targetApiFunc() 호출", Toast.LENGTH_SHORT).show();
}
//호출 : 조건문없이 호출하면 minSdkVersion에 따라 컴파일 에러 발생
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
requireApiFunc();
}
(참고) 안드로이드 버전 리스트
버전 | (코드명)별칭 | API Level |
4.0 / 4.0.3 | (I)아이스크림 | 14, 15 |
4.1 / 4.2 / 4.3 | (J)젤리빈 | 16, 17, 18 |
4.4 / 4.4Wear | (K)킷캣 | 19, 20 |
5.0 / 5.1 | (L)롤리팝 | 21, 22 |
6 | (M)마시멜로우 | 23 |
7.0 / 7.1 / 7.2 | (N)누가 | 24, 25 |
8.0 / 8.1 | (O)오레오 | 26, 27 |
9 | (P)파이 | 28 |
10 | (Q)퀸 케이크 | 29 |
11 | (R)레드 벨벳 케이크 | 30 |
반응형
'안드로이드' 카테고리의 다른 글
Android Excel 파일 생성 후 공유 (0) | 2021.11.18 |
---|---|
Android Retrofit2 사용하기 (0) | 2021.11.17 |
Android Dialog, Full Screen Dialog (0) | 2021.11.17 |
Android 네트워크 연결 상태 콜백 (0) | 2021.11.17 |
Android EditText 엔터키 이벤트 동작 (0) | 2021.11.17 |
최근댓글