Узнайте, что такое библиотека поддержки Android и когда ее использовать

Первоначально опубликовано на www.plightofbyte.com 24 сентября 2017 г.

Библиотека поддержки Android может сбивать с толку некоторых. И частые изменения, которые они вносят.

вздох

Пользователи - это самая важная вещь, когда вы разрабатываете приложение. Вы должны быть уверены, что максимальное количество пользователей может получить доступ к вашему приложению через Play Store.
Google выпускает новую версию Android примерно каждые 6 месяцев. Они привносят особенность, вносят изменения с каждым выпуском.

База пользователей Android очень фрагментирована. В любой момент на рынке существует так много версий Android, которые вы должны поддерживать. Трудно поддерживать одинаковую работу приложения во всех версиях.

Войти в библиотеку поддержки

«При разработке приложений, поддерживающих несколько версий API, вам может потребоваться стандартный способ предоставления новых функций в более ранних версиях Android или постепенного возврата к эквивалентным функциям. Вместо того, чтобы создавать код для работы с более ранними версиями платформы, вы можете использовать эти библиотеки для обеспечения уровня совместимости ».

Это из официальной документации.
Это резюмирует первоначальные намерения библиотеки поддержки. Но с тех пор библиотека поддержки сильно изменилась.

Что всего есть в этой библиотеке?

  • Обратная совместимость для функций
    Каждый раз, когда выпускается новая версия Android, например, Marshmallow, выпускается ряд функций, таких как разрешения времени выполнения. Вместе с этим Google также выпускает библиотеку поддержки, в которую они, как правило, добавляют некоторую совместимость для пользователей, которые запускали приложение на более старых ОС.
  • Удобные и вспомогательные классы
    Есть некоторые функции, которые присутствуют исключительно в библиотеке поддержки, например RecyclerView и ViewPager. Кроме того, в библиотеке поддержки есть много удобных и вспомогательных классов, которые сделают вашу жизнь проще.
  • Утилиты
    В библиотеке поддержки есть множество утилит, которые помогут вам улучшить код и протестировать приложение. Некоторые из вещей - это поддержка-аннотация и библиотека поддержки тестирования.

Хорошо, а что с версиями вроде 24, 25 и этой v4, v13?
Это слишком запутанно.

Каждый раз, когда Google выпускает последнюю и лучшую версию Android, он также выпускает библиотеку поддержки с той же основной версией, что и уровень API выпущенной платформы Android.

Поэтому, когда вышел Android Oreo, вместе с ним появилась библиотека поддержки, в которой было предусмотрено использование новых функций в более старой версии Android. Android Oreo имеет уровень API 26, а прилагаемая к нему библиотека - это версия 26.0.0.

Позже, когда потребуются какие-либо изменения в библиотеке или исправлены некоторые ошибки, второстепенные версии будут увеличены.

Только когда появится API 27, библиотека поддержки перейдет к версии 27. Это соглашение об именах помогает отслеживать, какая библиотека поставляется с какой ОС Android.

Теперь перейдем к v4, v7, v13 и так далее…

Это имя пакета классов. Не путайте их с обновлением или обновлением.
v4, v7, v13 и т. д. работают вместе. С помощью названия они передают то, какой уровень API требуется для их использования.

Итак, если вы используете класс в пакете v13, тогда ваше приложение должно иметь минимум SDKVersion как уровень API 13.
Другими словами, классы в пакете v13 должны использовать функции, представленные на уровне API 13, поэтому они не могут функция ниже уровня API 13. И вы должны установить minSDK на 13, чтобы ваше приложение никогда не могло работать на более низких уровнях API, таких как 12.

Точно так же для v4 требуется как минимум уровень API 4, а для v7 требуется уровень API 7.

Однако есть одно небольшое изменение, которое произошло, когда был выпущен Oreo. Вместе с Oreo появилась библиотека поддержки 26.

Спойлер, не такая уж мелочь.

В библиотеке 26.0.0 Google сделал минимальное требование для каждого пакета поддержки как уровень API 14.
Итак, теперь v4, v7, v13 или любой пакет ниже 14 требует уровня API 14. Google сделал это, чтобы сделать библиотеку более компактной. .

В любом случае никто не использовал такую ​​старую версию Android.

Когда мне следует использовать эту библиотеку?

Что ж, в общих рекомендациях говорится всегда использовать библиотеку поддержки.
Это поможет вам с общей совместимостью устройств, поскольку вы, вероятно, не будете знать о незначительных изменениях между платформами, но библиотека поддержки позаботится об этом за вас.

Кроме того, вы застрахованы от введения новой функции. Если бы вы использовали собственный / платформенный класс, вам пришлось бы перенести свой код для поддержки, а затем использовать совместимость.
Но если вы всегда находитесь на курсах поддержки, вам не о чем беспокоиться. При появлении любой новой функции вам просто нужно обновить библиотеку поддержки, и вы получите эту совместимость.

Но в этих библиотеках есть такие старые штуки, как собственные фрагменты. Они будут присутствовать на всех телефонах, поддерживаемых моим приложением.
Итак, зачем мне пользоваться поддержкой?

Что ж, в чем-то вы правы. Мол, вещи в пакете v4 вышли давно, например, фрагменты. Фрагмент был представлен в API уровня 11 и был добавлен в v4, чтобы их можно было использовать и в API уровня 4 и далее. Но в современном мире приложения имеют более высокую минимальную версию поддержки Android.

На самом деле нет смысла использовать эти старые классы, а использование собственного / платформенного класса имеет больше смысла.

НЕПРАВИЛЬНО !!!

Я считаю, что следует по-прежнему придерживаться классов поддержки, поскольку они существуют, чтобы защитить вас от любых изменений, которые могут произойти в будущем.
Google постоянно обновляет библиотеку поддержки. Они даже обновили все до минимального уровня API 14, сделав код более компактным, отбросив около 1400 методов.

Этот глоток свежего воздуха в поддержку даже версии 4 - это сообщение о том, что поддержка никуда не денется, и мы должны принять ее.

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

Если вам понравилась эта история, нажмите кнопку 👏 и поделитесь ею, чтобы помочь другим найти ее!

Первоначально опубликовано на www.plightofbyte.com 24 сентября 2017 г.