Имена версий Android для SDK уровня API: подробное руководство с примерами кода

Для разработчиков 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, обеспечивая удобство работы с пользователем.