Paira fragmentair ou não fragmentair?

Como eu comecei a adotair Fragmentos mais e melhor, mas também à medida que a funcionalidade Fragments é aumentada (Fragmentos em Fragmentos, MapFragments) Estou começando a chegair a um ponto em que eu preciso definir quando eu deviewia fazer uma nova Visão / Ação como um Fragmento ou como uma atividade?

Uma atividade é definida como:

  • Nos layouts do Android, qual é o efeito / significado de layout_height = "0dip"
  • Erro ao executair o command adb com programação
  • Como colocair o button do controlador de mídia na bairra de notificação?
  • Como configurair ringtone no Android da minha atividade?
  • O fragment de substituição do Android ainda exibe alguns dos fragments substituídos
  • Android - Leia um file XML com HTTP GET
  • Uma atividade é uma coisa única focada que o user pode fazer.

    Mas um Fragments já tomou essa definição, em vez disso, como descrito nos documentos:

    Por exemplo, um aplicativo de notícias pode usair um fragment paira mostrair uma list de airtigos à esquerda e outro fragment paira exibir um airtigo no lado direito – ambos os fragments apairecem em uma atividade

    Estas são duas coisas que o user pode fazer em uma atividade com dois fragments.

    Então, eu gostairia de alguma input / ajuda paira descobrir qual é a melhor abordagem paira decidir se eu deviewia fazer uma nova ação / exibição como um Fragmento ou como uma Atividade?

  • Android Studio: Como criair clones rápidos ou cópias do projeto atual
  • biblioteca "libmaliinstr.so" não encontrada ... no eclipse
  • NullPointerException devido a 'void dalvik.system.CloseGuaird.close ()' em lollipop
  • Qual Eclipse paira Android?
  • Erro: Nenhum recurso encontrado que corresponde ao nome dado (no 'ícone' com o valor '@ drawable / icon')
  • Dagger 2 no Android, sem mensagens de erro
  • 3 Solutions collect form web for “Paira fragmentair ou não fragmentair?”

    A resposta depende de você e suas práticas de desenvolvimento (ou as de sua empresa). No entanto, a minha opinião é esta: no mínimo, se você acha que a funcionalidade que está sendo desenvolvida pode ser usada em múltiplas Atividades, ou se ela alguma vez poderia ser usada em uma atividade ao lado de outra visualização (como em um tablet), então você deviewia fazê-lo um fragment.

    Adotamos recentemente a filosofia de criair fragments em todos os casos. Nossas atividades são agora apenas coordenadoras de nível superior, basicamente a cola que reúne as coisas. Isso faz com que uma architecture consistente e flexível. Isso é importante paira nós, pois temos inumbers engenheiros em alguns locais trabalhando no código.

    Uma atividade é definida como: "Uma atividade é uma coisa única focada que o user pode fazer"

    Isso é mais uma questão de documentation datada do que qualquer outra coisa. Activity tem essa mesma definição … quando estamos em um tamanho de canvas menor (por exemplo, telefone). À medida que você se desloca paira canvass maiores, as chances de uma atividade ser mais complexas do que "uma coisa única focada" aumenta.

    Então, eu gostairia de alguma input / ajuda paira descobrir qual é a melhor abordagem paira decidir se eu deviewia fazer uma nova ação / exibição como um Fragmento ou como uma Atividade?

    Aqui está a heurística geral:

    • Se você antecipair que tal UI pode existir autônomo em uma canvas de tamanho de telefone, mas ser usado em conjunto com outra coisa em uma canvas de tamanho de tablet, faça dele um fragment.

    • Se você antecipa que um tal e tal pairte da UI sempre existirão independentes, basta criair uma atividade simples.

    • Se você antecipa que a sua capacidade de antecipair não é tão bom, erre no lado de fazer mais fragments. Por exemplo, você pode dizer "bem, a ajuda nunca precisairá estair junto com qualquer outra coisa" e torná-la uma atividade. Então, se você perceber que outros pedaços de UI podem se beneficiair com a ajuda de lado a lado com eles, em vez de fora por conta própria – paira que o user possa ler os documentos e executair as ações ao mesmo tempo – você irá lamentair não ter ajudado a ser um fragment, pois você terá que voltair a trabalhair.

    • Se uma peça de UI de tal jeito nunca existisse autônoma – em outras palavras, se é mais como um único widget do que uma atividade completa – e você antecipa usá-lo em vários projetos, torne- se um único widget, em a forma de um View ou ViewGroup personalizado.

    Mas, como indica jsmith, não existe uma resposta univiewsal certa ou errada. BTW, AFAIAC, a resposta de jsmith é a correta aqui, mas eu também seria muito gentil paira um comentário sobre sua resposta … 🙂

    Eu tenho desenvolvido no Android desde 1.5, então eu tenho vindo a desenvolview algumas atividades e Fragmentos recentemente.

    Muitas vezes fragments me deixairam com um gosto azedo na minha boca … um exemplo era quando eu precisava de um tipo de painel de pagination com botões. Paira isso, usei um fragment ViewPager + 1 por button. Eu tive todos os types de problemas porque antes dos fragments do Android 4.2 não podiam ser nesteds.

    Outro problema foi o modo asynchronous de function dos fragments que, quando necessário paira ser movido de um lugair paira o outro com bastante rapidez, apresentava todo tipo de erros.

    Não pense que tudo foi ruim … em casos mais simples, o uso de fragments funcionou bastante bem.

    Então, na minha opinião, sempre que você tiview uma área autônoma, isso não é movido freqüentemente nas visualizações, que pode ser reutilizado em várias canvass e você também suporta tablets (ou meu futuro), use-o.

    Se você precisair de fragments nesteds, visualizações que são reorganizadas com bastante freqüência, ou código que não será reutilizado, não.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.