Estou desenvolvendo um aplicativo que suporta Android> = 4.0. Ele usa fragmentos da android.app
embalagem. Como estou enfrentando problemas com a implementação de fragmentos mais antiga na 4.0, como esta , que já foram corrigidos na biblioteca de suporte, estou pensando em voltar à implementação de fragmentos da biblioteca de suporte para obter uma implementação mais confiável e consistente.
Qual a sua opinião sobre isso? Você está usando fragmentos da biblioteca de suporte, mesmo que já estejam disponíveis, ao desenvolver para o Android 4?
android
android-fragments
android-support-library
brillenheini
fonte
fonte
Respostas:
Pela minha experiência, usar a mesma implementação de fragmento em todos os dispositivos Android é uma grande vantagem. Não consegui me livrar de todas as NullPointerExceptions quando o estado é salvo no Android 4.0 usando fragmentos nativos, com a biblioteca de suporte em que desapareceram. Também não pude ver nenhuma desvantagem até agora com essa abordagem.
Portanto, minha resposta para minha própria pergunta é agora: ao desenvolver para o Android 4.x, usar os fragmentos da biblioteca de suporte é uma boa idéia. A biblioteca de suporte possui bugs corrigidos que ainda estão presentes nas implementações de fragmentos mais antigos e é frequentemente atualizado com mais correções.
fonte
android.app.Fragment
então? Se você puder adicionar isso à sua resposta aqui com um pouco mais de explicação, eu ficaria totalmente satisfeito. Obrigado!objectAnimator
, mesmo que o SO de destino real o suporte). O que, no caso de você estar usandoViewPager
, significa que você precisa usar adaptadores da biblioteca de suporte da v13, caso contrário, não poderá ter o viewpager e a animação invertida.Um grande motivo para permanecer
SupportFragment
por um tempo é que você não tem acessoChildFragmentManager
até a API 17. A biblioteca de suporte fornecerá uma versão de suporte do gerenciador de fragmentos filho.Isso se torna um grande problema se você tiver fragmentos que contenham outros fragmentos. Isso é comum em aplicativos de tablet com muita complexidade e / ou sua arquitetura geral se baseia em um layout com guias ou usa a gaveta de navegação.
fonte
Eu também estava ficando frustrado por ter que incluir as bibliotecas de suporte, apesar de ter como alvo o Android 4.0 ou superior - mas parece que é oficialmente recomendado:
http://developer.android.com/tools/support-library/features.html
fonte
IMHO, se você planeja desenvolver apenas para 4.0, eu recomendaria ir com as bibliotecas nativas, pois o executável ficará menor. É verdade que você pode ter problemas de bugs nas versões anteriores, mas acho que a maioria delas deve ser bastante trivial para contornar. Além disso, a biblioteca de compatibilidade deve mapear para os fragmentos nativos, caso você esteja executando o 4.0 e superior. Portanto, você pode acabar tendo que enfrentar esse tipo de problema de qualquer maneira. O problema com as bibliotecas de suporte é que muitas classes aparecem 2x (uma vez na estrutura do pacote de suporte e outra na estrutura do pacote "nativo"), o que torna o desenvolvimento um pouco mais complicado.
No entanto, se você também deseja lançar seu aplicativo antes da 4.0, não há como contornar a biblioteca de suporte. Além disso, como existem cerca de 38% de todos os usuários no 2.3, pode fazer sentido para os negócios incluir essa versão do sistema operacional. Nesse caso, você pode usar a biblioteca de suporte em conjunto com o Jake Wartons ActionBarSherlock (ou com o Google suporta a biblioteca ActionBar depois que ela for lançada).
fonte
Parece que é melhor usar a Biblioteca de suporte agora porque vi a declaração aqui https://developer.android.com/reference/android/app/Fragment.html
fonte