Intro:
Il modello base "Fragments Tutorial" è simile al seguente:
- Su un tablet, avere un elenco a sinistra, i dettagli a destra.
- Entrambi sono
Fragments
ed entrambi risiedono nello stessoActivity
. - Su un telefono, avere un elenco
Fragment
in unoActivity
. - Lancia un nuovo
Activity
con i dettagliFragment
.
(ad es. API di frammenti di Android 3.0 di Dianne Hackborn e la Guida dell'API di frammenti )
Su entrambi i dispositivi, la funzionalità è in Fragments
. (semplice)
Sul tablet , l'intera app è 1Activity
, al telefono ce ne sono molteActivities
.
Domande:
- C'è un motivo per dividere l'app del telefono in molte
Activities
?
Un problema con questo metodo è la duplicazione della maggior parte della logica nel Tablet principale Activity
e nel Telefono separato Activities
.
- Non sarebbe più facile conservare il modello 1 Activity in entrambi i casi, usando la stessa logica di accensione
Fragments
e spegnimento (usando solo un layout diverso)?
In questo modo la maggior parte della logica risiede nelle Fragments
stesse e c'è solo una Activity
duplicazione del codice, meno singola .
Inoltre quello che ho letto su ActionBarSherlock
è che sembra funzionare meglio Fragments
invece di Activities
(ma non ho ancora lavorato con esso).
I tutorial sono semplificati eccessivamente o ho perso qualcosa di importante in questo approccio?
Abbiamo provato entrambi gli approcci con successo in ufficio, ma sto per iniziare un progetto più grande e voglio rendere le cose il più facili possibile per me stesso.
Alcuni collegamenti a domande correlate:
- Dilemma: quando usare Frammenti vs Attività:
- Indica quando utilizzare la transizione di attività e i frammenti dinamici
- Android: ho bisogno di alcuni chiarimenti sui frammenti rispetto ad attività e viste
- Attività o frammenti in Android?
- Progettazione di interazioni con più frammenti e attività
- Quindi quali sono i vantaggi esatti dei frammenti in Android 3.0?
aggiornamenti
Ha iniziato la ricompensa in questione - non sono ancora convinto del motivo per cui devo duplicare la logica della mia app nell'attività del tablet e in ogni attività del telefono.
Ho anche trovato un interessante articolo dei ragazzi di Square, che vale la pena leggere:
onItemSelected()
metodo nell'attività. Nella mia app "reale", ho molte liste ed elenchi. Questo modello suggerisce che la mia attività di tabulazione deve avere un onItemSelected()
metodo per gestire ciascuno degli elenchi. Inoltre le attività telefoniche devono avere ciascuna la stessa logica duplicata all'interno di ciascuna di esse. IMHO è molto meglio inserire la logica Item Item in ogni frammento - non c'è duplicazione e preferisco quel modo di strutturare il codice. Spero che questo aiuti