Відповіді:
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