Интересно, возможно ли реализовать несколько методов для поддержки разных уровней API и вызвать правильный без if(android.os.Build.VERSION.SDK_INT >= ...) else if...
?
Я хочу использовать новые функции платформы Android, такие как потоки и т. Д., И все еще поддерживать в обратном направлении.
Пример:
написал метод
public void myMethod24() {
// some logic requires api level N(24) and above
}
но мое приложение поддерживает более низкие API, поэтому мне нужен другой метод, совместимый с ними.
вот метод, совместимый с более старыми версиями:
public void myMethod21() {
// the same logic, requires api level LOLLIPOP(21) and above
}
Как использовать правильный метод для текущей работающей версии , не делая этого безобразно, если еще:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
myMethod24();
} else if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
myMethod21();
}
Возможно, аннотируйте мои методы с помощью @RequiresApi (), @TargetApi или чего-то еще ..?
я видел этот вопрос но ответ есть, если еще.