반응형
스마트 폰은 우리 삶을 많이 바꾸어 놓았고,
모든 이들이 콘텐츠 크레이터가 될 수 있는 기회를 우리에게 가져다주었다.
그중, 안드로이드는 현재까지도 버전을 업데이트하고 있다.
10여 년 넘게 알파벳 철자 앞자리를 따서 디저트 이름으로 API 도 같이 업데이트 해왔지만
드디어 버전 10에서는 Q로 시작하는 디저트 명을 버리고 Android 10으로 옷을 갈아입었다.
디저트 명이 재미있기는 했지만 모호함을 벗어난
명확한 표현이 안드로이드 운영체제의 앞날을 말해주는 듯 하다.
코드명버전API 수준/NDK 릴리즈
Android10 | 10 | API 레벨 29 |
Pie | 9 | API 레벨 28 |
Oreo | 8.1.0 | API 레벨 |
Oreo | 8.0.0 | API 레벨 |
Nougat | 7.1 | API 레벨 |
Nougat | 7.0 | API 레벨 |
Marshmallow | 6.0 | API 레벨 23 |
Lollipop | 5.1 | API 레벨 |
Lollipop | 5.0 | API 레벨 |
KitKat | 4.4 - 4.4.4 | API 레벨 |
Jelly Bean | 4.3.x | API 레벨 18 |
Jelly Bean | 1,080x2,160 | API 레벨 |
Jelly Bean | 1,080x2,160 | API 레벨 16 |
ICS(Ice Cream Sandwich) | 4.0.3 - 4.0.4 | API 레벨 15, NDK 8 |
ICS(Ice Cream Sandwich) | 4.0.1 - 4.0.2 | API 레벨 14, NDK 7 |
Honeycomb | 1,080x2,160 | API 레벨 |
Honeycomb | 3.1 | API 레벨 12, NDK 6 |
Honeycomb | 3.0 | API 레벨 |
Gingerbread | 2.3.3 - 2.3.7 | API 레벨 |
Gingerbread | 2.3 - 2.3.2 | API 레벨 9, NDK 5 |
Froyo | 1,080x2,160 | API 레벨 8, NDK 4 |
Eclair | 2.1 | API 레벨 7, NDK 3 |
Eclair | 2.0.1 | API 레벨 6 |
Eclair | 2.0 | API 레벨 5 |
Donut | 1.6 | API 레벨 4, NDK 2 |
컵케이크 | 1.5 | API 수준 3, NDK 1 |
(코드명 없음) | 1.1 | API 레벨 2 |
(코드명 없음) | 1.0 | API 레벨 1 |
향후에도 업데이트 될 안드로이드 버전은 하기 안드로이드 개발자 사이트에서 확인 하면 된다.
코드명, 태그 및 빌드 번호 | Android 오픈소스 프로젝트 | Android Open Source Project
그럼, 각 버전별로 소스를 다르게 구현 하고 싶을때 어떻게 할까?
바로 하기 처럼 구현 하면된다.
//현재 안드로이드 버전이 6.0 미만이면 ... if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M){ } |
Build.VERSION_CODES 클래스 상수로
버전 명이 정의 되어있다. 한 예로, 권한 정보를 체크할때 유용하게 사용할 수 있다.
public static class VERSION_CODES { public static final int BASE = 1; public static final int BASE_1_1 = 2; public static final int CUPCAKE = 3; public static final int CUR_DEVELOPMENT = 10000; public static final int DONUT = 4; public static final int ECLAIR = 5; public static final int ECLAIR_0_1 = 6; public static final int ECLAIR_MR1 = 7; public static final int FROYO = 8; public static final int GINGERBREAD = 9; public static final int GINGERBREAD_MR1 = 10; public static final int HONEYCOMB = 11; public static final int HONEYCOMB_MR1 = 12; public static final int HONEYCOMB_MR2 = 13; public static final int ICE_CREAM_SANDWICH = 14; public static final int ICE_CREAM_SANDWICH_MR1 = 15; public static final int JELLY_BEAN = 16; public static final int JELLY_BEAN_MR1 = 17; public static final int JELLY_BEAN_MR2 = 18; public static final int KITKAT = 19; public static final int KITKAT_WATCH = 20; public static final int LOLLIPOP = 21; public static final int LOLLIPOP_MR1 = 22; public static final int M = 23; public static final int N = 24; public static final int N_MR1 = 25; public static final int O = 26; public static final int O_MR1 = 27; public static final int P = 28; |
티스토리를 찾아주셔서 감사합니다.
반응형
'앱 만들기 > 안드로이드 study' 카테고리의 다른 글
안드로이드 디밍에 빠지지 않게 하기! (2) | 2020.05.04 |
---|---|
Thread 작성 하는 법. JAVA (2) | 2020.05.04 |
Admob 배너 광고 소스 적용하기 (8) | 2020.05.01 |
안드로이드 화면 전환시 작업처리. onConfigurationChanged (4) | 2020.04.30 |
안드로이드 사운드를 재생하자. Media Player 다루기 (14) | 2020.04.25 |
댓글