Відповіді:
android.support.v4.app.Fragment
- це клас Fragment у бібліотеці підтримки для Android, який є пакетом сумісності, який дозволяє використовувати деякі новіші функції Android на старих версіях Android.
android.app.Fragment
- клас Fragment у рідній версії SDK для Android. Він був представлений в Android 3 (API 11).
Якщо ви хочете змусити ваш додаток використовувати фрагменти та хочете націлити пристрої перед API 11, ви повинні використовувати android.support.v4.app.Fragment
. Однак якщо ви орієнтуєтесь лише на пристрої, на яких працює API 11 або вище, ви можете використовувати android.app.Fragment
.
Редагувати: вміщена ОС android.app.Fragment
тепер застаріла (станом на рівень API 28), і кожен повинен перейти до використання реалізацій бібліотеки підтримки.
Станом на 2018 рік:
З android.app.Fragment
документації :
Цей клас застарілий у рівні API 28.
Використовуйте Бібліотеку підтримкиFragment
для послідовної поведінки на всіх пристроях та доступу до життєвого циклу.
Тому фрагменти підтримки ( android.support.v4.app.Fragment
) зараз слід використовувати всюди замість власних фрагментів ( android.app.Fragment
).
android.app.Fragment
клас буде застарілим, той рівень API 28 матиме альтернативний, можливо, радикальний підхід заміни. Чи є підхід вперед або це сумісний android.support.v4.app.Fragment
правильний підхід?
Я використовую android.support.v4.app.Fragment
виключно.
Усі програми, які я пишу, повинні підтримувати Android 2.3, і це найпростіший спосіб зробити це.
Якщо ви підтримуєте 11+, тоді дотримуйтесь android.app.Fragment
.
Якщо ваша програма націлена на API 11 або вище, ви можете використовувати android.app.Fragment
і ваш файл APK буде меншим.
В іншому випадку додайте android.support.v4.app.Fragment
бібліотеку до свого проекту, щоб підтримувати старіші версії API для Android (Android 3.x).
android.support.v4.app.Fragment
це бібліотека, яку ви можете використовувати для отримання сумісності з зворотною версією для старшої версії API
Фрагменти додано на рівні 11 API (разом з іншими функціями), ви повинні включити цю бібліотеку, щоб розширити цю функцію на пристрої, що передують API 11. Це корисна бібліотека, і я пропоную ознайомитися з ActionBarSherlock, який розширює панель дій на пристрої, що передують API v11.
Якщо ваша програма націлена на API 11 або вище, ви можете використовувати android.app.Fragment, і це зменшить розмір APK. В іншому випадку використовуйте android.support.v4.app.Fragment