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...