• Non ci sono risultati.

Android: Architettura e componenti applicat

4.3 Struttura del progetto

I File XML svolgono un ruolo importante nello sviluppo di applicazioni Android, soprattutto per quanto riguarda la configurazione e la dichiarazione delle risorse. A titolo di esempio, nella programmazione di applicazioni Android, per creare la GUI, la mappatura e l’azione di navigazione e linkage generalmente l'autore utilizza alcuni file XML e riferiscono ogni componente utilizzando il suo ID.

In Fig.4.4 abbiamo un esempio di struttura di progetto (molto basica) in vista di un progetto Android.

Fig.4.4: Esempio di Progetto Android all’interno dell’IDE Eclipse

Riassumendo:

1. La cartella “src”contiene tutte le classi create esplicitamente dallo sviluppatore. Si noti come una Classe di attività di base è presente in questa cartella, all'interno del pacchetto com.fausto.fausto;

2. La cartella di generazione “gen” ha diverse classi che vengono create automaticamente da Android e non dovrebbero mai essere modificate manualmente dallo sviluppatore;

4. La cartella “res” contiene tutte le risorse utilizzate dall'applicazione, come immagini (la sottocartella drawable ha il file dell’icona di lancio

dell’applicazione), layout (la sottocartella di layout contente il file main.xml che definisce il layout GUI), valori statici, tipo di risorse bundle (come i valori presenti nella sottocartella values all’interno del file string.xml);

5. AndroidManifest.xml - come citato prima, è il file di configurazione principale per l'applicazione Android.

4.3.1 R.java ed R.class

Uno degli errori tipici che, in fase di compilazione, ci viene restituito quando si inizia a programmare in Android è il seguente:

“R cannot be resolved to a variable”

In ogni applicazione android ci sono 2 classi disponibili con il nome R.

La prima classe fa parte del nucleo del sistema Android o Android SDK, che può essere letta come android.R Possiamo vedere questa classe nel file di R.class che è disponibile nel file di android.jar e viene automaticamente incluso nel progetto per plugin ADT (Android Developer Tools).4

La seconda classe è parte della nostra applicazione, che può essere letta come nome_pacchetto.R (ad esempio basandoci sull’esempio di Fig.4.4:

com.fausto.fausto.R). Possiamo vedere questa classe nel file di R.java che è disponibile nella directory gen. Il file R.java è visibile solo dopo il successo di compilazione del progetto, dato che, al momento della compilazione, all’interno del file viene associata una stringa esadecimale per ogni elemento dell’applicazione. R.java dunque è un file generato automaticamente quando si crea un'applicazione Android. Esso contiene identificatori unici (numeri normalmente 32bit) per gli elementi di ogni categoria (drawable, string, layout, color, ecc.) delle risorse

4 ADT (Android Developer Tools) è un plugin per Eclipse che fornisce una suite di strumenti che si integrano con l'IDE Eclipse. Esso consente di accedere a molte funzioni che

consentono di sviluppare applicazioni Android in fretta. ADT fornisce l'accesso GUI per molti degli strumenti SDK della riga di comando, nonché serve come strumento di progettazione dell'interfaccia utente per la prototipazione rapida, progettazione e costruzione dell'interfaccia utente dell'applicazione.

(elementi sotto la directory res) disponibili nell'applicazione Android. Lo scopo principale del file di R.java è la rapida accessibilità delle risorse nel progetto. Se una risorsa ha cancellato o aggiunto al progetto, il file R.java sarà aggiornato

automaticamente, tale processo viene fatto da plugin ADT in Eclipse.

Il plugin ADT in Eclipse darà un avviso se si tenta di modificare il file R.java.

4.3.2 La creazione di R.java

Nel file R.java, ciascuna categoria della risorsa verrà creata come una classe. In ogni classe di risorsa verranno creati tutti i rispettivi elementi come membri statici, ovvero come costanti. Quindi, non si dovrà cambiare questi valori perché identificati unicamente. Essi sono anche dei membri finali (final static...), così da potervi accedere con i loro nomi della classe; è il caso di R.drawable.ic_launcher, R.layout.main, ecc. Le figure 4.5-4.6 evidenziando la creazione delle classi per ciascuna categoria di risorse.

Fig.4.5: Creazione di due stringhe esadecimali per l’icona di lancio dell’applicazione “ic_launcher” e la classe di layout “main.xml”.

Esiste poi, all’interno della directory res, una cartella di valori (values) che non è una categoria di risorse. Alcuni tipi di risorse, come stringhe, colori, stili, array, ecc. vengono raggruppate e nominate all’interno di values.

Fig.4.6: Creazione di due valori esadecimali per due stringhe “app_name” ed “hello”

4.4 Configurazione

Per sviluppare delle applicazioni eseguibili sui sistemi Android bisogna innanzitutto installare e configurare l’apposito kit di sviluppo (SDK) contenente al suo interno un emulatore virtuale, la documentazione e le librerie (http://developer.android.com/ sdk/). Attualmente la versione Android disponibile è la 4.4.

La scelta dell’IDE ricade sull’ambiente integrato Eclipse. E’ di recente pubblicazione anche un IDE apposito per la programmazione android (Android Studio). Tuttavia l’utilizzo di Eclipse è preferibile consigliato nel caso specifico dato che, specialmente in fase di compilazione, vi è un controllo sicuramente più affidabile ed un occhio di riguardo per le classi Java.

Come già anticipato, il kit di sviluppo contiene anche un utile emulatore in modo tale da consentire allo sviluppatore il test delle applicazioni su PC, prima che le stesse vengano installate su dispositivo mobile (o tablet) col formato eseguibile “.apk”. Non resta dunque da imparare il concetto di Android Virtual Device (AVD), cioè di dispositivo virtuale Android (Fig. 4.7 (a)). La Fig.4.7(b) mostra un primo layout grafico dell’applicazione.

Fig. 4.7(b): Ecco come si presenta l’emulatore AVD all’avvio (sinistra). Sulla destra invece un primo layout grafico per l’applicazione.

Capitolo 5 - Implementazione

Documenti correlati