Introdução:
O padrão básico do "Fragments Tutorial" é mais ou menos assim:
- Em um tablet, tenha uma lista à esquerda e detalhes à direita.
- Ambos são
Fragmentse ambos residem no mesmoActivity. - Em um telefone, tenha uma lista
Fragmentem umActivity. - Lançar um novo
Activitycom os detalhesFragment.
(por exemplo, API do Android 3.0 Fragments por Dianne Hackborn e o Guia da API do Fragments )
Nos dois dispositivos, a funcionalidade está no Fragments. (simples)
No tablet , o aplicativo inteiro é 1Activity ; no telefone , existem muitosActivities .
Questões:
- Existe um motivo para dividir o aplicativo de telefone em vários
Activities?
Um problema com esse método é que você duplica muita lógica no Tablet principal Activitye no telefone separado Activities.
- Não seria mais fácil manter o modelo 1 Activity em ambos os casos, usando a mesma lógica de ativar
Fragmentse desativar (apenas usando um layout diferente)?
Dessa maneira, a maior parte da lógica reside em Fragmentssi mesma e existe apenas uma Activityduplicação de código única e menor.
Também o que li sobre ActionBarSherlockisso é que parece funcionar melhor em Fragmentsvez de Activities(mas ainda não o trabalhei).
Os tutoriais estão simplificados demais ou perdi algo importante nessa abordagem?
Tentamos as duas abordagens com sucesso no escritório - mas estou prestes a iniciar um projeto maior e quero facilitar o máximo possível as coisas para mim.
Alguns links para perguntas relacionadas:
- Dilema: quando usar Fragmentos x Atividades:
- Padrões quando usar a transição de atividade vs fragmentos dinâmicos
- Android - preciso de alguns esclarecimentos sobre fragmentos x atividades e visualizações
- Atividades ou fragmentos no Android?
- Design de interação de vários fragmentos e atividades
- Então, quais são as vantagens exatas dos fragmentos no Android 3.0?
Atualizações
Recompensa iniciada em questão - ainda não estou convencido sobre o motivo pelo qual preciso duplicar minha lógica de aplicativo na atividade do tablet e em cada atividade do telefone.
Também encontrei um artigo interessante do pessoal da Square, que vale a pena ler:
onItemSelected()método na Atividade. No meu aplicativo "real", tenho muitas listas e sublistas. Esse padrão sugere que minha Atividade da guia deve ter um onItemSelected()método para lidar com cada uma das listas. Além disso, as atividades telefônicas devem ter a mesma lógica duplicada em cada uma delas. IMHO é muito melhor colocar a lógica Item Selecionado em cada Fragmento - não há duplicação e eu prefiro essa maneira de estruturar o código. Espero que ajude #