Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Pro Android 2
Recensito da Pietro Rossi il 03-09-2010 ore 10:13
Copertina ISBN: 9781430226598
Autori: Sayed Hashimi, Satya Komatineni, Dave MacLean
Editore: Apress
Lingua: Inglese
Anno: 2010
Pagine: 736
Allegati: Nessuno
Intel Cluster Studio XE
In questo libro viene presentato, in maniera dettagliata e precisa, i fondamenti della programmazione su dispositivi Android. Gli autori Sayed Hashimi, Satya Komatineni, Dave MacLean, esperti nel settore Java, sono perfetti per la trattazione di questo argomento e il risultato è stato altrettanto lodevole.

Il libro è abbastanza voluminoso e si compone di 19 capitoli, dall'inizializzazione dell'ambiente di sviluppo a parti più interessanti quali il touchscreen. Nel primo capitolo viene fatta una introduzione completa su Android, la sua storia e i componenti, passando da un confronto con l'altra piattaforma di sviluppo mobile, Java ME.

Il secondo capitolo è dedicato al setup dell'ambiente di sviluppo, download e installazione del JDK, Eclipse ed Android SDK. Vengono presentati i componenti fondamentali e la loro utilità, come il file AndroidManifest.xml per la configurazione dell'applicazione, simile al web.xml adoperato in J2EE. Inoltre, viene presentato come configurare l'AVD (Android Virtual Device), strumento importante per effettuare le varie prove prima di scaricare il software sul terminale, anche se l'attuale versione 2.2 di Android risulta troppo lenta all'avvio, indipendentemente dal computer col quale si sviluppa. Non poteva mancare a fine capitolo l'analisi sul ciclo di vita del software, molto importante in ambito mobile.

Nel terzo capitolo vengono analizzate tre parti fondamentali di base per la programmazione su Android: resources, content providers e intents. Le prime sono letteralmente le varie risorse utilizzate dal programma come stringhe, colori, layout, ecc; si possono distinguere in risorse compilate e risorse non compilate. Il content provider è uno strumento per le gestione dei dati di una applicazione. Per intent si intende invece una descrizione astratta di una operazione da eseguire, come avviare un'altra applicazione o procedure interne.

Nel quarto capitolo si inizia a parlare di User Interface, definendo i vari controlli, fra cui Text, Button, List, Grid, Date e Time. Si analizzano anche controlli avanzati quali MapView, Gallery e Spinner. Il capitolo termina con i vari tipi di layout disponibili (linear, table, relative e frame). Ogni layout è importante a seconda della situazione, non c'è un preferito, ma è a discrezione del programmatore utilizzare uno o l'altro. Viene anche spiegato come annidare i vari layout.

Nel quinto capitolo si va avanti con le User Interface andando a definire come costruire un menu. Naturalmente non poteva mancare il classico esempio di caricamento del menu da XML, linguaggio presente perennemente nella programmazione odierna. Viene introdotto anche il concetto di Dialog, come una sorta di finestra simile a una MessageBox/InputBox.

Certamente uno dei capitoli più desiderati è quello della programmazione 2D/3D, cui gli autori dedicato un conciso capitolo sei, introducendo gli aspetti basilari delle animazioni 2D, anche se l'argomento è molto più vasto.

Il settimo capitolo introduce il concetto di permessi sui sistemi Android. Vari tipi di risorse, come camera, Internet o Bluetooth, non sono accessibili da una applicazione se, in fase di programmazione, non viene specificato il permesso per quel tipo di risorsa. Nella seconda metà del capitolo, invece, vengono introdotte le mappe e la geolocalizzazione; viene presentato l'oggetto MapView per la visualizzazione delle mappe e le varie procedure per effettuare le operazioni su esse, come lo zoom o la definizione di percorsi guida.

Molti servizi offerti dai cellulari necessitano di connessioni internet per effettuare operazioni. Il capitolo otto illustra come effettuare delle richieste HTTP tramite l'oggetto HttpClient e distingue fra richieste di tipo GET e richieste di tipo POST, ovvero le modalità con cui avviene il passaggio dei parametri al servizio. Viene spiegato anche come creare dei servizi semplicemente estendendo la classe Service fino ad arrivare alla definizione di AIDL (Android Interface Definition Language) Service.

Il capitolo nove si occupa di analizzare l'utilizzo di strumenti quali Media Framework e Telephony API: viene spiegato come utilizzare gli oggetti MediaPlayer, MediaController e MediaRecorder, rispettivamente per la riproduzione e registrazione di audio e video; l'oggetto SMSManager per gestire gli SMS; e TelephonyManager per gestire le chiamate.

Molto interessante il capitolo dieci, con un'ottima presentazione del mondo 3D con OpenGL, del quale vengono introdotte le basi, la struttura e gli oggetti fondamentali: glVertexPointer per definire un insieme di punti, glDrawElements per disegnare a video un insieme di punti rispetto a un tipo geometrico di base (come linee o il triangolo), glColor per definire dei colori, glClear per pulire l'area di disegno, gluLookAt per spostare la camera. La parte finale del capitolo è dedicata ad esempi di animazioni con utilizzo della camera, costruzioni di poligoni e teoria di base sulle texture.

Il capitolo undici è completamente dedicato all'organizzazione delle preferenze: come utilizzarle e manipolarle nelle applicazioni, attraverso esempi di codice, che rendono il capitolo semplice e comprensibile. I capitoli dodici e tredici presentando due concetti di base di Android: le Live Folders e i Widgets. Le prime si presentano come icone sul desktop, le seconde come dei componenti visualizzabili sul desktop come i gadget in Windows. Viene accennato a come costruire questi componenti e come gestirli attraverso molti screenshot ed esempi di codice.

Il capitolo quattordici, molto completo e pieno di esempi e definizioni, spiega molto dettagliatamente il controllo Search e tutte le relative API, svelando tutti i segreti della QSB (Quick Search Box) e dei Suggestion Provider.

Non potevano mancare le API per la traduzione di testi. Il capitolo quindici le presenta, soffermandosi sulle Text-to-Speech API per la conversione di testi in audio.

Un capitolo molto importante è il sedicesimo, nel quale viene analizzato il touchscreen: novità di Android 2 è il multitouch che viene gestito come una sorta di array di touch singoli, tanto per non allontanarsi dal concetto principale della programmazione touch. Tutto questo viene gestito dall'oggetto MotionEvent.

Il diciassettesimo capitolo mostra la programmazione su Webkit, il browser di Android, attraverso il tool di sviluppo Titanium. Esso si basa sulla costruzione di pagine web, che vengono impacchettate come un normale package Android (APK), installate e visualizzate attraverso Webkit.

Gli sviluppatori, che vogliono pubblicare le proprie applicazioni nell'Android Market, saranno certamente interessati al capitolo diciottesimo, nel quale vengono spiegate, in maniera dettagliata e precisa, le regole per utilizzare le varie sezioni dell'Android Market.

L'ultimo capitolo analizza Android da un altro punto di vista: mette in luce alcuni dispositivi mobili come Motorola DROID e Nexus One, presenta alcune alternative ad Android Market e un insieme di sistemi operativi mobili che fanno concorrenza come Symbian, Maemo, Windows Mobile e iPhone OS. Nella parte conclusiva viene redatta una lista di collegamenti e risorse molto utili allo sviluppo per Android.
proL'inglese con cui è scritto il testo è abbastanza scorrevole e leggibile, adatto anche a chi non conosce in modo approfondito i termini tecnici.
controIl testo è in bianco e nero e in alcuni capitoli mancano molte immagini di esempio chiarificatrici.
Precedente: Retrocomputing e archeologia informatica: esempi pratici di restauro (8/10)
Successiva: Guida alla programmazione in Perl: interazione con il sistema (3/3)
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.308 secondi.