Что такое аннотации @TargetApi для Android

1

означает, что TargetApi означает, что код должен вызываться с определенной версией или должен называться с более высокой или равной определенной версией?

TargetApi (23) означает, что использовать для (23 и ниже) или (23 и выше)?

Теги:
annotations

2 ответа

4
@TargetApi(23)

Обозначает, что аннотированный элемент должен вызываться только на данном уровне API 23 или выше.

Аннотация @TargetApi используется только Lint и не имеет результатов во время выполнения. Если мы используем более высокий api без проверки TaregetApi и Lint, нам не будет предложено во время компиляции, и наш код может потерпеть крах при запуске.

Отредактировано:

@RequiresApi

Когда метод аннотируется этим, каждый раз, когда вы вызываете этот метод, вы получаете приятное красное предупреждение о том, что для этого вызова требуется версия API, которая выше, чем ваша версия Min API.

@TargetApi

он подавляет предупреждения о вызове нового apis в вашем методе, но когда вы вызываете этот метод откуда-то еще, предупреждение lint вообще не появляется.

@RequiresApi является более новым и более строгим, эти две аннотации также являются вспомогательными, чтобы избежать аварийного запуска, вы должны проверить уровень API самостоятельно.

  • 0
    пожалуйста, не копируйте тот же ответ
  • 0
    Это должен быть принятый ответ.
Показать ещё 1 комментарий
1

Target Api 23 означает, что аннотированный метод должен работать только на устройствах api 23+. Вы должны использовать его с проверкой IF для уровня API устройства. Если минимальный уровень API вашего приложения ниже 23, попробуйте предоставить метод для старых устройств.

  • 0
    так что можно сказать что то же самое с requireApi?
  • 0
    Не совсем. Как указано ниже, аннотация удалит красное подчеркивание ошибки, но вы все равно должны проверить время выполнения уровня API.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню