Я разрабатываю приложение, поддерживающее Android> = 4.0. Он использует фрагменты из android.app
пакета. Поскольку я сталкиваюсь с проблемами со старой реализацией фрагмента в 4.0, подобной этой , которая уже исправлена в библиотеке поддержки, я рассматриваю возможность вернуться к реализации фрагмента из библиотеки поддержки, чтобы получить более надежную и последовательную реализацию.
Каково ваше мнение по этому поводу? Используете ли вы фрагменты из библиотеки поддержки, даже если они уже доступны, при разработке для Android 4?
android
android-fragments
android-support-library
brillenheini
источник
источник
Ответы:
По моему опыту, использование одной и той же реализации фрагмента на всех устройствах Android является большим преимуществом. Я не мог избавиться от всех исключений NullPointerExceptions, когда состояние сохраняется на Android 4.0 с использованием собственных фрагментов, а с библиотекой поддержки все они исчезли. К тому же я пока не видел недостатков в этом подходе.
Итак, мой ответ на мой собственный вопрос: при разработке для Android 4.x использование фрагментов из библиотеки поддержки - хорошая идея. В библиотеке поддержки исправлены ошибки, которые все еще присутствуют в более старых реализациях фрагментов, и часто обновляется дополнительными исправлениями ошибок.
источник
android.app.Fragment
? Если вы можете добавить это к своему ответу здесь с дополнительными пояснениями, я был бы полностью удовлетворен. Спасибо!objectAnimator
, даже если фактическая целевая ОС поддерживает это). Что, в случае, если вы используетеViewPager
, означает, что вам нужно использовать адаптеры из библиотеки поддержки v13, иначе у вас не может быть одновременно окна просмотра и анимации переворачивания.Одна из серьезных причин придерживаться этого
SupportFragment
на некоторое время заключается в том, что у вас нет доступа кChildFragmentManager
API-интерфейсу до 17. Библиотека поддержки предоставит вам версию поддержки менеджера дочерних фрагментов.Это становится большим делом, если у вас есть фрагменты, содержащие другие фрагменты. Это часто встречается в приложениях для планшетов с большой степенью сложности, и / или ваша общая архитектура основана на макете с вкладками или использует панель навигации.
источник
Я также расстраивался из-за необходимости включать библиотеки поддержки, несмотря на ориентацию на Android 4.0+, но, похоже, это официально рекомендуется:
http://developer.android.com/tools/support-library/features.html
источник
IMHO, если вы планируете разрабатывать только для 4.0, я бы порекомендовал использовать собственные библиотеки, поскольку исполняемый файл станет меньше. Это правда, что вы можете столкнуться с проблемами ошибок в ранних версиях, но я думаю, что большинство из них должно быть довольно тривиально, чтобы их можно было обойти. Также предполагается, что библиотека совместимости сопоставляется с собственными фрагментами, если вы все равно используете 4.0 и выше. Так что вам все равно придется бороться с подобными проблемами. Проблема с библиотеками поддержки заключается в том, что многие классы появляются дважды (один раз в структуре пакета поддержки и один раз в «собственной» структуре пакета), что делает разработку немного более громоздкой.
Однако, если вы хотите также выпустить свое приложение до версии 4.0, тогда нет возможности обойтись без библиотеки поддержки. Кроме того, поскольку около 38% всех пользователей используют 2.3, может иметь смысл включить эту версию ОС. В таком случае вы можете использовать библиотеку поддержки в сочетании с Jake Wartons ActionBarSherlock (или с библиотекой ActionBar, поддерживающей Google, после ее окончательного выпуска).
источник
Кажется, что сейчас лучше использовать библиотеку поддержки, потому что я видел здесь заявление https://developer.android.com/reference/android/app/Fragment.html
источник