136673 Letture

Programmare Android: creare applicazioni partendo da zero con Android SDK ed Eclipse

I telefonini si sono trasformati, da tempo, in dispositivi evoluti capaci di mettere a disposizione dell'utente una nutrita schiera di applicazioni per l'assolvimento dei compiti più disparati. Android è uno dei sistemi operativi per device mobili oggi più diffuso ed utilizzato: numerosi produttori (tra i tanti nomi ci sono, per esempio, Acer, HTC, LG, Motorola, Samsung e Sony Ericsson) hanno deciso di installarlo sui propri dispositivi via a via presentati sul mercato, sia che si tratti di smartphone che di tablet. Android si propone come una piattaforma "aperta" basata sul kernel Linux ed in grado di eseguire applicazioni attraverso la cosiddetta Dalvik virtual machine, una macchina virtuale Java adattata per l'impiego sui dispositivi mobili.
Appannaggio dei programmatori, Google provvede a rilasciare un pacchetto SDK aggiornato che intregra gli strumenti di sviluppo, le librerie, un emulatore, la documentazione ed alcuni progetti d'esempio. Grazie al pacchetto SDK, disponibile nelle versioni per le piattaforme Windows, Linux e Mac OS X, è possibile quindi interagire con un "dispositivo virtuale" che si comporterà come uno dei device Android disponibili sul mercato.

Per iniziare a programmare applicazioni Android, quindi, due sono i requisiti software indispensabili:


1) Il pacchetto Java Development Kit (JDK), prelevabile da questa pagina (sito web di Oracle).

2) L'Android SDK, il prodotto che consente di realizzare applicazioni per il sistema operativo mobile targato Google contenente il debugger, le librerie, un emulatore, il codice d'esempio e la documentazione. Il pacchetto SDK è scaricabile gratuitamente da questa pagina.

L'utilizzo della virtual machine è necessario per fare in modo che il codice generato possa garantire delle prestazioni comparabili a linguaggi compilati quali C e C++. La macchina virtuale che, su ciascun dispositivo Android, si occupa di eseguire il bytecode si chiama appunto Dalvik VM. L'uomo chiave che ne ha curato lo sviluppo si chiama Dan Bornstein ed il nome della macchina virtuale deriva da quello di un villaggio di pescatori islandese, nel quale vivano alcuni suoi parenti. La virtual machine Dalvik si occupa di recuperare tutte le varie classi Java necessarie per il funzionamento di un'applicazione e di combinarle in uno o più file con estensione .dex (Dalvik Executables). Durante la generazione di tali elementi, le informazioni duplicate vengono riunite assieme in modo da ridurre drasticamente lo spazio necessario rispetto ai comuni file Java in formato .jar.

"Cuore" di Android è il kernel Linux che è responsabile della gestione dei driver di periferica, dell'accesso alle risorse, della gestione energetica e di altre funzionalità. La maggioranza delle applicazioni sviluppate per Android sono comunque realizzata in Java e vengono tutte eseguite ricorrendo alla virtual machine Dalvik.
Al livello successivo della "pila", sopra al kernel Linux, vi sono un certo numero di librerie C/C++ quali OpenGL, WebKit, FreeType, SSL, SQLite e Media. Le librerie Media sono basate su OpenCore e sono responsabili della registrazione e della riproduzioni di flussi audio e video. Un'ulteriore libreria, denominata Surface Manager si occupa di controllare l'accesso al sottosistema grafico e supporta la modellazione 2D e 3D.
La nota libreria WebKit, in comune con Apple Safari e Google Chrome, gestisce il motore per la navigazione sul web mntre SQLite è il conosciuto database relazionale opensource.

Dopo l'installazione del pacchetto Java JDK

Quando si installa Java è bene tenere presenti alcuni punti fondamentali. In primo luogo, la piattaforma Java deve essere mantenuta sempre aggiornata per evitare che eventuali vulnerabilità possano essere sfruttate, da parte di aggressori, per causare danni. In seconda battuta, se non si fosse interessati ad eseguire le applet Java dal browser web, sarebbe opportuno disattivare questa possibilità.
A tal proposito, suggeriamo di documentarvi facendo riferimento all'articolo Java è sicuro? Come difendersi dalle minacce più recenti.


Installazione di Android SDK

Dopo aver prelevato il pacchetto SDK di Android da questa pagina, è necessario estrarne il contenuto in una cartella di propria scelta, sul disco fisso (ad esempio, C:\Android SDK).
Si otterranno così due sottocartelle: eclipse e sdk. La prima directory contiene l'ambiente di sviluppo (IDE) Eclipse (fino a qualche tempo fa doveva essere scaricato ed installato separatamente) mentre la seconda il pacchetto di sviluppo Android vero e proprio.

È possibile programmare per Android utilizzando anche, semplicemente, un editor di testo (i.e. Notepad++) ma la procedura apparirà sicuramente più macchinosa. Per evitare di complicarsi la vita, quindi, è possibile fruire dell'Android Development Tools (ADT), un plugin per Eclipse IDE che consente di "aprire" l'ambiente di sviluppo integrato multilinguaggio e multipiattaforma alla realizzazione di applicazioni per il sistema operativo di Google. Tutto è già integrato nel pacchetto "ADT bundle" di Android.

L'SDK di Android contiene tutta una serie di strumenti e di pacchetti. Per impostazione predefinita, al primo utilizzo dell'SDK risultano abilitati solamente gli strumenti ossia gli eseguibili e i file di supporto indispensabili per l'avvio dei programmi. I pacchetti sono invece i file che si riferiscono ad una specifica versione di Android (dalla 1.5 alla 3.1) oppure i cosiddetti ad-on. Questi ultimi sono componenti aggiuntivi quali le API di Google Maps. Il cosiddetto SDK Manager è uno speciale strumento che consente di gestire le versioni dell'Android SDK correntemente installate sul sistema in uso.


Avvio dell'SDK Manager

Per avviare l'SDK Manager da ambiente Windows, è sufficiente fare doppio clic sul file SDK Manager.exe.

Prima di avviare l'SDK Manager, bisognerà accertarsi di aver installato il pacchetto JDK di Java altrimenti l'applicazione non verrà eseguita (apparirà per una frazione di secondo solo una finestra a sfondo nero).

L'SDK Manager mostrerà tutti i componenti utilizzabili per realizzare le proprie applicazioni per la piattaforma Android. Qui, si possono spuntare le caselle corrispondenti alle versioni di Android per le quali si prevede di sviluppare le proprie applicazioni.
Ogni versione del sistema operativo Android è contraddistinta da un numero progressivo di versione della corrispondente API. Nel caso di Android 2.3.3 si leggerà, ad esempio, API 10; nel caso di Android 3.0, API 11; per Android 4.0, API 14 e così via.
Oltre a spuntare le caselle corrispondenti alle versioni del sistema operativo d'interesse, si dovrà attivare anche la casella Extras:

Cliccando su Install packages ed, ancora, su Install, l'SDK Manager di Google avvierà il download dei pacchetti richiesti per poi proseguire con la loro installazione sul sistema locale.
Peccato che mentre viene installato un componente, l'SDK Manager non si avvantaggi procedendo al download di quelli successivi.
Ad installazione ultimata, l'SDK Manager chiederà di operare un riavvio dell'ADB (Android Debug Bridge): bisognerà rispondere in modo affermativo.


La prima esecuzione dell'ambiente di sviluppo Eclipse

A questo punto è tutto pronto per iniziare a programmare per Android: accedendo alla cartella eclipse quindi facendo doppio clic sul file eseguibile eclipse.exe, si avvierà l'ambiente di sviluppo integrato Eclipse.

Alla prima esecuzione di Elicpse, verrà richiesta la creazione di un workspace: si tratta della cartella nella quale si prevede di memorizzare tutti i propri progetti. È possibile accettare la directory proposta in modo predefinito oppure specificarne un'altra.

Alla comparsa della successiva finestra Contribute usage statistics si può scegliere oppure No a seconda che si voglia oppure si preferisca non contribuire al miglioramento dell'Android SDK mediante l'invio periodico, a Google, di dati statistici.

È interessante notare come l'SDK Manager sia avviabile anche dalla versione di Eclipse integrata nell'Android SDK: basta cliccare sul menù Window quindi selezionare la voce Android SDK Manager:

Cliccando sul menù Help, su About ADT quindi sul pulsante Installation details ed infine sulla scheda Plug-ins, si noterà come i plugin ADT (Android Development Tools) che sino a qualche tempo fa dovevano essere aggiunti in modo manuale, risultino già preinstallati.
Il plugin ADT di Android estende le funzionalità dell'IDE Eclipse in modo tale da fare in modo che attraverso tale ambiente di sviluppo sia possibile realizzare nuovi progetti Android, accedere agli strumenti che consentono di accedere ad emulatori e dispositivi Android, compilare ed effettuare il debug di applicazioni Android, esportare le applicazioni Android sotto forma di pacchetti APK ed, infine, creare i certificati digitali per firmare le applicazioni in formato APK.


  1. Avatar
    Diego2
    27/02/2014 18:10:06
    Grazie per il lavoro e le chiare spiegazioni :) Ti domando: perché non aggiungi ulteriori capitoli sulla programmazione per android? Ciao e grazie di nuovo :)
Programmare Android: creare applicazioni partendo da zero con Android SDK ed Eclipse - IlSoftware.it