back to top

Anatomia di unโ€™applicazione Android โ€“ Guida Sviluppo App Android

Dopo aver creato la nostra prima applicazione Android รจ il momento di analizzare i vari componenti di un progetto Android. Osservando la finestra Package Explorer possiamo notare la presenza di numerosi file e cartelle per il nostro progetto MyHelloWorld

La struttura di un semplice progetto

Andiamo brevemente ad illustrare il contenuto di alcune importanti cartelle e la funzione di alcuni file:

src

Contiene i file con estensione .java che caratterizzano la nostra applicazione. Nel nostro esempio รจ presente un solo file denominato MainActivity.java

Si tratta del file sorgente che permette di gestire lโ€™activity che abbiamo creato nella lezione precedente e allโ€™interno del quale possiamo scrivere il codice della nostra applicazione.

gen

Contiene il file R.java, un file generato dal compilatore che referenzia tutte le risorse del progetto. Normalmente tale file non dovrebbe essere modificato manualmente perchรฉ tutte le risorse del progetto vengono automaticamente compilate in questa classe in modo che sia possibile gestire queste risorse tramite la classe stessa.

Android 4.0

In questa cartella รจ presente un file denominato android.jar che contiene tutte le librerie necessarie al funzionamento dellโ€™applicazione.

assets

Contiene elementi utilizzati dallโ€™applicazione come file di testo, database, file HTML, ecc.

bin

Questa cartella contiene tutti i file generati dallโ€™ambiente di sviluppo durante il processo di compilazione

Molto importante รจ il file con estensione .apk (Android Package), un file binario che contiene tutto il necessario per lโ€™esecuzione di unโ€™applicazione Android.

res

Contiene tutte le risorse utilizzate dallโ€™applicazione. Inoltre in essa sono presenti altre sottocartelle importanti, come layout e values, che analizzeremo prossimamente.

AndroidManifest.xml

Si tratta del file manifest dellโ€™applicazione. In esso รจ possibile specificare i permessi relativi alla stessa e altri importanti aspetti che vedremo prossimamente.

Lโ€™interfaccia utente

Torniamo ora alla cartella res e apriamo la sottocartella layout. In essa, come abbiamo visto in precedenza, รจ presente il file activity_main.xml che definisce lโ€™interfaccia utente della nostra activity. Allโ€™interno di tale file รจ presente il seguente codice

Nelle prime due linee viene impostata la larghezza e lโ€™altezza dellโ€™interfaccia utente specificando che dovrร  occupare tutto lo spazio disponibile. La terza riga, invece, definisce un testo: il codice @string si riferisce al file strings.xml posizionato nella cartella res/values, mentre il codice @strings/hello_world si riferisce al valore della stringa "hello_world" definita nel file strings.xml

Se per il file strings.xml clicchiamo in basso sul tab "Resources" avemo accesso ad unโ€™interfaccia semplificata attraverso cui รจ possibile inserire o modificare le stringhe contenute in esso.

Eโ€™ consigliabile memorizzare tutte le costanti di tipo stringa nel file strings.xml e referenziare tali valori tramite lโ€™identificatore @string. In questo modo se, ad esempio, si presentasse la necessitร  di tradurre unโ€™applicazione in unโ€™altra lingua basterebbe solo fare una copia della cartella value e modificare le stringhe contenute nel file strings.xml di questa nuova cartella.

Il file AndroidManifest.xml

Andiamo adesso ad analizzare il contenuto del file AndroidManifest.xml

Anche in questo caso nella parte inferiore dellโ€™editor sono presenti alcuni tab che permettono di accedere e gestire in maniera piรน semplice i vari elementi del file ma noi adesso analizzeremo in dettaglio il codice xml relativo a tali elementi.

Come appare evidente, il file manifest contiene informazioni dettagliate riguardo allโ€™applicazione: definisce il nome del package, il codice della versione, il nome della versione, la versione del SDK minima per lโ€™utilizzo dellโ€™applicazione (minSdkVersion), lโ€™immagine che rappresenta lโ€™applicazione sul dispositivo (icon), il nome dellโ€™applicazione (label), il nome delle activity presenti nellโ€™applicazione (nel nostro caso solo una). Allโ€™interno della definizione dellโ€™activity MainActivity possiamo vedere un elemento denominato intent-filter che serve ad impostare questa activity come il punto di partenza dellโ€™applicazione (action) specificando che essa puรฒ essere avviata attraverso il launcher del dispositivo su cui รจ in uso (category).

Il file R.java

Come abbiamo detto prima, Eclipse genera automaticamente il contenuto del file R.java e nel nostro caso questo file contiene il seguente codice

Come possiamo vedere, sono presenti i riferimenti ai vari elementi del progetto, compresa la stringa hello_world che abbiamo citato in precedenza. Ricordiamoci di non modificare manualmente il contenuto di questo file perchรฉ Eclipse rigenera tutto ogni volta che modifichiamo il nostro progetto.

Il file MainActivity.java

Infine osserviamo il codice che connette la nostra activity allโ€™interfaccia utente. Questo avviene tramite il metodo setContentView del file MainActivity.java

In esso lโ€™istruzione R.layout.activity_main si riferisce al file activity_main posizionato nella cartella res/layout. Il metodo onCreate รจ uno dei metodi che vengono chiamati quando viene avviata unโ€™activity (come vedremo nella lezione successiva).

Pubblicitร 

In questa guida...