Для разработчиков Android крайне важно понимать взаимосвязь между названиями версий Android и SDK уровня API. Каждая версия Android связана с определенным уровнем API, который определяет набор функций и возможностей, доступных вашему приложению. В этой статье мы рассмотрим различные методы сопоставления названий версий Android с соответствующими SDK уровня API. Мы предоставим примеры кода, чтобы проиллюстрировать каждый метод и помочь вам более эффективно ориентироваться в этом аспекте разработки Android.
Метод 1: использование Build.VERSION.SDK_INT
Константа Build.VERSION.SDK_INT предоставляет уровень API устройства или эмулятора, на котором выполняется ваше приложение. Сравнивая это значение с предопределенными постоянными значениями, вы можете определить соответствующее имя версии Android. Вот пример:
int apiLevel = Build.VERSION.SDK_INT;
String versionName;
if (apiLevel >= Build.VERSION_CODES.Q) {
versionName = "Android 10 (Q) or later";
} else if (apiLevel >= Build.VERSION_CODES.P) {
versionName = "Android 9 (Pie)";
} else if (apiLevel >= Build.VERSION_CODES.O_MR1) {
versionName = "Android 8.1 (Oreo)";
} else {
// Handle older versions
versionName = "Unsupported version";
}
// Use versionName as needed
Метод 2: использование констант уровня API
Класс Build.VERSION_CODES предоставляет набор констант, представляющих уровень API каждой версии Android. Вы можете сравнить уровень API устройства или эмулятора с этими константами, чтобы определить имя версии. Вот пример:
int apiLevel = Build.VERSION.SDK_INT;
String versionName;
switch (apiLevel) {
case Build.VERSION_CODES.Q:
versionName = "Android 10 (Q) or later";
break;
case Build.VERSION_CODES.P:
versionName = "Android 9 (Pie)";
break;
case Build.VERSION_CODES.O_MR1:
versionName = "Android 8.1 (Oreo)";
break;
default:
// Handle older versions
versionName = "Unsupported version";
}
// Use versionName as needed
Метод 3. Использование библиотеки поддержки
Если вы используете библиотеку поддержки Android, вы можете использовать класс androidx.core.os.BuildCompat для получения уровня API. Вот пример:
int apiLevel = BuildCompat.VERSION.SDK_INT;
String versionName;
if (apiLevel >= Build.VERSION_CODES.Q) {
versionName = "Android 10 (Q) or later";
} else if (apiLevel >= Build.VERSION_CODES.P) {
versionName = "Android 9 (Pie)";
} else if (apiLevel >= Build.VERSION_CODES.O_MR1) {
versionName = "Android 8.1 (Oreo)";
} else {
// Handle older versions
versionName = "Unsupported version";
}
// Use versionName as needed
В этой статье мы рассмотрели несколько методов сопоставления названий версий Android с соответствующими SDK уровня API. Используя эти методы и предоставленные примеры кода, вы можете легко определить название версии Android в своем приложении и соответствующим образом адаптировать свой код. Понимание взаимосвязи между названиями версий Android и SDK уровня API имеет основополагающее значение для создания надежных и совместимых приложений Android.
Применяя методы, описанные в этой статье, вы можете гарантировать, что ваше приложение будет корректно работать в разных версиях Android, обеспечивая удобство работы с пользователем.