Qual é a diferença entre android.app.Fragment
e android.support.v4.app.Fragment
e quais são as circunstâncias em que cada um deve ser usado?
Qual é a diferença entre android.app.Fragment
e android.support.v4.app.Fragment
e quais são as circunstâncias em que cada um deve ser usado?
android.support.v4.app.Fragment
é a classe Fragment na biblioteca de suporte do Android, que é um pacote de compatibilidade que permite usar alguns dos recursos mais recentes do Android em versões mais antigas do Android.
android.app.Fragment
é a classe Fragment na versão nativa do Android SDK. Foi introduzido no Android 3 (API 11).
Se você deseja fazer com que seu aplicativo use fragmentos e deseja segmentar dispositivos antes da API 11, você deve usar android.support.v4.app.Fragment
. No entanto, se você estiver segmentando apenas dispositivos com API 11 ou superior, poderá usar android.app.Fragment
.
Editar: o conteúdo do sistema operacional android.app.Fragment
agora está obsoleto (no nível 28 da API) e todos devem passar a usar as implementações da biblioteca de suporte.
A partir de 2018:
Da
android.app.Fragment
documentação :Portanto, fragmentos de suporte (
android.support.v4.app.Fragment
) devem ser usados em todos os lugares, em vez de fragmentos nativos (android.app.Fragment
) agora.fonte
android.app.Fragment
classe fosse preterida, o nível 28 da API tivesse uma abordagem de substituição alternativa, possivelmente radical. Existe uma abordagem avançada ou compatível comandroid.support.v4.app.Fragment
a anterior ?eu uso
android.support.v4.app.Fragment
exclusivamente.Todos os aplicativos que escrevo precisam ser compatíveis com o Android 2.3 e essa é a maneira mais fácil de fazer isso.
Se você está apoiando 11+, continue com
android.app.Fragment
.fonte
Se seu aplicativo estiver direcionado para a API 11 ou superior, você poderá usar
android.app.Fragment
e seu arquivo APK será menor.Caso contrário, adicione a
android.support.v4.app.Fragment
biblioteca ao seu projeto para oferecer suporte a versões mais antigas da API do Android (Android 3.x).fonte
android.support.v4.app.Fragment
é uma biblioteca que você pode usar para obter compatibilidade com versões anteriores da versão mais antiga da API.Fragmentos foram adicionados no nível 11 da API (junto com outros recursos). Você deve incluir essa biblioteca para estender essas funções aos dispositivos anteriores à API 11. Essa é uma biblioteca útil e sugiro dar uma olhada no ActionBarSherlock, que estende a barra de ação aos dispositivos anteriores à API v11.
fonte
Se o seu aplicativo estiver direcionado para a API 11 ou acima do nível, você poderá usar android.app.Fragment e reduzirá o tamanho do APK. Caso contrário, use android.support.v4.app.Fragment
fonte