Нужно ли использовать библиотеку поддержки Android
Обновление:
Теперь, после нескольких месяцев опыта работы с Android, я понимаю, что библиотеки поддержки возвращают порты новых функций с более высоких уровней API. Например, поддержка lib v4 реализует некоторые новые функции, используя только API <= 4.
Спасибо за помощь.
Ответы
Ответ 1
Что именно содержит? API с более новых уровней, которые эмулируются с использованием уровня API 4?
Да и нет. Он содержит как back-ported версии новых API (например, Fragment
), так и другие функции, которые недоступны вне библиотеки поддержки.
В поддержка документации по библиотеке (выделено мной):
Пакет библиотеки поддержки Android представляет собой набор кодовых библиотек, которые предоставляют обратно совместимые версии API-интерфейсов Android , а также функции, доступные только через API-интерфейсы библиотеки. Каждая библиотека поддержки обратная - совместимый с конкретным уровнем API Android. Этот проект означает, что ваши приложения могут использовать функции библиотек и по-прежнему совместимы с устройствами под управлением Android 1.6 (API уровня 4) и выше.
Существует несколько версий библиотеки поддержки, каждая из которых поддерживает другой минимальный уровень API:
- v4 поддерживает обратно до 1.6 (уровень API 4)
- v7 поддерживает обратно до 2.1 (уровень API 7)
- v8 поддерживает обратно до 2.2 (уровень API 8)
Мой минимальный API-уровень равен 15. Нужно ли мне использовать (или даже заботиться о) поддержку v4?
Может быть. Проверьте Документацию по функциям библиотеки поддержки. Вам нужно что-нибудь из этого? Некоторые из них, например DrawerLayout
, недоступны вне библиотеки поддержки.
Ответ 2
Это зависит, есть некоторые вещи, которые вы можете получить только в библиотеке поддержки, например, ViewPager
. но если вам минимальный API равен 15, вам действительно не нужно использовать библиотеку поддержки, поскольку библиотека поддержки предназначена для поддержки более старого API (< 11), который имеет те же функциональные возможности, что и новый API
Ответ 3
Если вам не нужны определенные функции, которые входят в библиотеку поддержки (например, ViewPager), вам не нужно заботиться о библиотеках поддержки, если вы ориентируетесь только на указанные версии. Но если вы решили использовать его, вы должны придерживаться его, например:
android.app.FragmentManager fm = getFragmentManager(); // returns an instance of the Fragment Manager class
android.support.v4.app.FragmentManager = getSupportFragmentManager(); // returns an instance of the support library class
и т.д. Также убедитесь, что ваш FragmentActivity принадлежит к той же библиотеке, которую вы используете.
Ответ 4
Если вы используете минимальный API-уровень 14 или ниже, вам, вероятно, понадобится Библиотека поддержки.
Если вы делаете что-то выше, вам это не нужно.