В чем разница между android.app.Fragment
и android.support.v4.app.Fragment
, и каковы обстоятельства, при которых каждый должен использоваться?
Разница между android.app.Fragment и android.support.v4.app.Fragment
Ответ 1
android.support.v4.app.Fragment
- это класс Fragment в библиотеке поддержки Android, который представляет собой пакет совместимости, который позволяет вам использовать некоторые из новых функций Android на более старые версии Android.
android.app.Fragment
- класс Fragment в собственной версии Android SDK. Он был представлен в Android 3 (API 11).
Если вы хотите, чтобы ваше приложение использовало фрагменты и хотите настроить таргетинг на устройства до API 11, вы должны использовать android.support.v4.app.Fragment
. Однако, если вы используете только таргетинг на устройствах с интерфейсом API 11 или выше, вы можете использовать android.app.Fragment
.
Ответ 2
Я использую android.support.v4.app.Fragment
исключительно.
Все приложения, которые я пишу, должны поддерживать прямо на Android 2.3, и это самый простой способ сделать это.
Если вы поддерживаете 11+, тогда придерживайтесь android.app.Fragment
.
Ответ 3
Если ваше приложение предназначено для API 11 или выше, вы можете использовать android.app.Fragment
, и ваш файл APK будет меньше.
В противном случае добавьте библиотеку android.support.v4.app.Fragment
к вашему проекту, чтобы поддерживать более старые версии API Android (Android 3.x).
Ответ 4
android.support.v4.app.Fragment
- это библиотека, которую вы можете использовать для обратной совместимости для более старой версии API.
Фрагменты были добавлены на уровне API 11 (наряду с другими функциями), вы должны включить эту библиотеку, чтобы расширить эту функцию до устройств с предварительным интерфейсом API 11. Это полезная библиотека, и я предлагаю взглянуть на ActionBarSherlock, который расширяет панель действий до устройств pre-API v11.
Ответ 5
Ответы совершенно правильные
Но по прошествии времени и в соответствии с https://en.wikipedia.org/wiki/Android_version_history довольно редко, что ваше новое приложение для Android должно поддерживать устройства с sroid sroid меньше, чем 11.
Итак, вы можете забыть о android.support.v4.app.Fragment
и безопасно использовать android.app.Fragment
в своем приложении.