Questo sito utilizza i Cookie. Clicca su Accetto per consentirne l'utilizzo, altrimenti in Info trovi maggiori informazioni.

Fragment Lifecycle - Parte1: Introduzione







 

Benvenuti nella prima parte di questa serie di articoli dedicati alla comprensione del Lyfe Cycle, ovvero il ciclo di vita, dei Fragment, ma senza disdegnare quello delle Activity a cui sono strettamente legati!

Per spiegare, e capire con voi, come funziona il ciclo di vita dei Fragment (anche se tratterò anche qualche altro aspetto), cosa c'è di meglio che mettermi a scrivere questa serie di articoli?

Ho speso del tempo a cercare di capire alcuni meccanismi e mi sono trovato in difficoltà in alcuni punti che proverò a trattare al meglio sviluppando con voi una semplice applicazione dallo scopo puramente didattico.

Questi articoli non saranno però una spiegazione passo passo o un tutorial di come realizzare quest'app, ma piuttosto l'app stessa sarà un pretesto per trattare gli argomenti che ho trovato più ostici. Per realizzare da zero un'app ci sono diversi tutorial in italiano ed in inglese e lo stesso vale per la spiegazione teorica dei vari componenti di Android. Non volendo creare una sorta di ripetizione di altri contenuti già diffusi nel web, ho pensato di fornire il codice dell'app ed esaminare con voi i punti che ritengo più delicati mettendo gli eventuali link al sito ufficiale di Google per facilitare e velocizzare la ricerca di informazioni relative ai vari componenti.

Ovviamente potrete interagire con me attraverso i commenti a fondo articolo oppure meglio, scrivendomi tramite il mio profilo Google+ (vedete nella pagina Chi Sono).

 

Volendo potete pure iscrivervi a questo gruppo Google per diventare alpha tester dell'app... ovviamente quest'app resterà nella fase alpha per sempre, ma in questo modo potrete averla installata sul vostro telefono ed esaminarne i log durante il funzionamento (li lascerò sempre accessibili) ancor prima di aver creato il progetto nel vostro Eclipse!

Se mi manderete un messaggio per essere iscritti al gruppo, citate questo articolo!

 

Una nota, io al momento continuerò ad usare Eclipse con l'ADT (il plugin Android Development Tools) per due motivi:

  • mi piace Eclipse e lo uso per molte altre cose
  • al momento Android Studio è ancora in beta e sinceramente avrei preferito Google avesse continuato con Eclipse (tuttora supportato e costantemente aggiornato)

 

Introduzione all'app FragmentLifecycle:

In questa serie di articoli esaminerò alcune parti del codice di quest'app, ma partiamo descrivendola:

La schermata, l'unica, è composta da un'Activity che sarà il nostro contenitore principale ed ospiterà al suo interno alcuni ButtonTextView ed altri elementi fra cui i Fragment che andremo ad aggiungere, togliere, nascondere e visualizzare in diversi modi. Qui sotto un'immagine della schermata principale con i contenuti presenti all'avvio dell'applicazione:

 

homeScreen

 

 

L'applicazione si servirà delle librerie di supporto in quanto vogliamo poterla rendere disponibile dalla versione API7 di Android fino alla verisione che attualmente è la 4.4W, a cui corrispondono le API20, impostata come target.

Questa scelta è stata fatta pensando a quanto comunemente consigliato, ovvero di supportare almeno il 90% dei devices Android. Noi, così facendo supporteremo decisamente più del 90% consigliato, ma essendo un'applicazione didattica ci può stare come ragionamento!

Se vogliamo conoscere la diffusione delle varie versioni di Android possiamo osservare la Dashboard che Google ci offre!

 

Analisi dei contenuti dell'app FragmentLifecycle:

Osservando la schermata notiamo vari bottoni con una label "parlante" ovvero che indica il loro scopo: ci basti sapere per ora che A e B sono lettere riferite ed identificative dei due Fragment che utilizzeremo per capire il ciclo di vita di questo elemento. Avremo poi anche un Fragment senza UI (User Interface)  e che verrà "attaccato" ad un contenitore invisibile nell'Activity; questa parte servirà a comprendere come funzionano i Thread associati ad un Fragment che esiste anche "staccato" dall'Activity.

Nello spazio libero sottostante ai bottoni abbiamo invece due riquadri, il primo, quello un po' più scuro, conterrà i Fragment A e B che andremo di volta in volta a creare, ad eliminare, attaccare, staccare e quant'altro. Il secondo riquadro, dal titolo "conenuto del BackStack" è stato creato per visualizzare il contenuto del BackStack (poi capiremo di cosa si tratta!).

 

Creazione del progetto in Eclipse ed impostazioni di partenza:

Il codice dell'app è fornito, ma per rendere la cosa più interessante, creiamo il progetto da zero servendoci dell'ADT di Eclipse, se non sapete di che si tratta o come si installa, al momento posso indirizzarvi qui, se necessario e richiesto in seguito farò un breve articolo a riguardo anche se la procedura è abbastanza semplice!

Apriamo quindi Eclipse e creiamo un nuovo progetto Android (al momento sto utilizzando la versione Luna di Eclipse con l'ADT versione 23.0.2.1259578) :

  • File > New > Other... > Android Application Project

newAndroidApplicationProject

  • Next e compiliamo come segue; il package per intero è com.texnostuff.android.example.fragmentlifecycle . Sappiate che questo identificherà univocamente l'app all'interno del PlayStore qualora la volessimo pubblicare. Solitamente se si ha un sito web della propria attività (o per hobby come me) del tipo http://texnostuff.com si usa scegliere il package invertendo i domini del proprio URL e poi aggiungendo per esempio il campo di sviluppo "android" e poi quanto ci interessa per identificare la tipologia della nostra applicazione e infine utilizzando il suo nome. Per questo, nel mio caso è nato il package sopra indicato dove:
    • com.texnostuff -> è il mio dominio
    • .android -> è il campo di sviluppo
    • .example -> è la tipologia della mia app, un esempio
    • .fragmentlifecycle -> è il nome che ho scelto per la mia app

NewAndroidApplicationSettings

 

  • Clicchiamo nuovamente su Next > e ci troviamo di fronte a questa schermata in cui cliccheremo direttamente su Next > in quanto teniamo le impostazioni di default:

newAndroidApplicationSettings2

 

 

  • Successivamente ci troviamo qui e scegliamo l'immagine per la nostra applicazione e creiamo un set di icone con lo strumento fornito dall'ADT di Google; qui potete provare le varie opzioni come meglio credete, se volete scaricare questa che è l'immagine che ho utilizzato io. Fatti i vostri esperimenti cliccate su Next > ancora una volta:

newAndroidApplication3Icona

 

  •  Arriviamo a questa schermata e selezioniamo "Empty Activity". Successivamente clicchiamo nuovamente su Next >:

newAndroidApplication4EmptyActivity

  •  Per arrivare all'ultima schermata di creazione del nuovo progetto in cui daremo il nome all'Activity principale ed al suo file di Layout associato. Lasciamo tutto come è e clicchiamo su Finish:

newAndroidApplication5MainActivity

 

Siamo così finalmente giunti all'inizio del nostro progetto, ci troveremo davanti ad una schermata del genere in cui notiamo la cartella (ed il relativo contenuto) della nostra app e un'ulteriore cartella che si chiama appcompat_v7. Questa cartella è una libreria creata in automatico in modo che la nostra app sia compatibile con versioni di android precedenti. Per esempio i Fragment esistono solo dalla versione di Android 3.0 (quella famosa per esser stata dedicata ai Tablet e che, per fortuna, si è ri-unita a quella classica per gli Smartphone nelle versioni Android successive).

 

ProjectStart

 

 Bene, spero di avervi interessati a questa nuova serie di articoli che pian piano andrò a creare, qualora aveste domande, suggerimenti o critiche non esitate ad utilizzare i commenti qui sotto o meglio contattatemi tramite il mio profilo Google+ a cui trovate un link nella pagina Chi Sono di questo sito!

 

 

 




Se ti è piaciuto questo articolo condividilo come preferisci, oppure lascia un commento!!

 

Parliamo di come si può essere sicuri che i rimedi si acquista on-line sono sicuri. Senza dubbio, uno dei luoghi emozionante, dove le persone possono acquistare farmaci è Internet. Ci sono farmaci variante per ogni malattie. Kamagra è un farmaco prescritto per il trattamento di diverse denunce. Cosa ne pensi "http://journal-info.net/buy/levitra-online.html "? Dove è possibile avere informazioni dettagliate su "buy levitra online "? Le questioni, come "buy levitra ", si riferiscono a vari tipi di problemi medici. Vivere con la disfunzione erettile può essere un vero problema. Ci sono farmaci variante per risolvere la disfunzione sessuale maschile. Il farmaco è per voi. Mai dare ad altre persone, anche se i loro reclami siano uguali ai suoi.