Autore Topic: Activity o Fragment  (Letto 745 volte)

Offline Vlad

  • Utente normale
  • ***
  • Post: 271
    • Github
    • Google+
    • vmihalachi
    • vmihalachi
    • Mostra profilo
    • vmihalachi.com
  • Dispositivo Android:
    Samsung galaxy s2 | Samsung galaxy tab 7
  • Play Store ID:
    Vlad Mihalachi
  • Sistema operativo:
    Windows 8
Activity o Fragment
« il: 21 Gennaio 2012, 19:42:38 CET »
Ciao a tutti ! :D secondo voi per un applicazione sviluppata interamente per tablet conviene andare a studiare e mettere in pratica l'uso dei fragment o l'activity resta la scelta migliore ? lo chiedo perche trovo molto piu intuitivo l'uso delle activity mentre con i fragment non ci ho capito molto  :D

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Activity o Fragment
« Risposta #1 il: 22 Gennaio 2012, 18:00:46 CET »
Ciao a tutti ! :D secondo voi per un applicazione sviluppata interamente per tablet conviene andare a studiare e mettere in pratica l'uso dei fragment o l'activity resta la scelta migliore ? lo chiedo perche trovo molto piu intuitivo l'uso delle activity mentre con i fragment non ci ho capito molto  :D

Premessa: è vero il Fragment è un oggetto strano (si mostra come una view complessa, ma si comporta come una activity), ma in realtà l'Activity non è una alternativa ai Fragment. Ne è la riprova il fatto che un Fragment ha senso solo se inserito in una Activity, altrimenti è come tutte le altre xxxView. Il Fragment è una View più tutto il codice della sua creazione/gestione/aggiornamento che normalmente andrebbe nella activity.

Secondo me esistono due possibili ragioni che rendono conveniente l'uso dei Fragment: compatibilità semplificata tra smartphone-tablet, e gestione di layout complessi.
  • Compatibilità semplificata : Anche dagli sviluppatori ci viene posto l'esempio di uso dei Fragment per riutilizzare parti di interfaccia nelle due piattaforme. In realtà il Fragment fa di più, ti permette di scrivere una sola volta una parte di interfaccia (esempio ListView+codice di gestione) e di riutilizzarla in layout diversi o activity diverse. Un esempio illuminante che ho letto è quello di avere interfaccia tablet landscape con due listview affiancate, in portrait con una sola e cliccando su un elemento di apre la seconda in una activity diversa.
  • Gestione di layout complessi : Questa credo sia l'unica cosa che puoi fare solo con i Fragment (almeno in modo semplice), una interfaccia tablet con all'interno un Fragment che cambia dinamicamente a seconda delle scelte dell'utente. Di fatto è come se tutta la navigazione dell'app avvenisse in quel riquadro, mentre tutti gli altri sono fissi. E l'app tiene traccia nel suo stack di tutti i cambi di Fragment.

Detto questo, la tua domanda secondo me è più che lecita e tutt'ora non mi sono del tutto convinto di cosa sia meglio. Se sai già che la tua app avrà un layout dinamico e/o logicamente complesso, probabilmente merita partire subito con i Fragment. Se invece pensi che non ci sia nessuna limitazione ad usare metodo usato finora (e secondo me questo vale per il 90% delle app), usa il metodo tradizionale; alla peggio passi ai Fragment in un secondo tempo.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store