Разница между 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 в своем приложении.