lunedì 6 agosto 2012

Programmazione Android: Introduzione alle Google Maps

Salve a tutti amici del NoPipe Blog, parla Gambero,
in questi giorni ho ripreso a programmare app per Android, dopo un mesetto di sosta post esame (anche se purtroppo è solo una sosta dal mondo Android, perchè stiamo impazzendo per un altro esame). La mia idea era quella di creare un'app, per mio uso personale, che mi aiuti a ritrovare la mia auto (che oramai tutti conoscete grazie ai video On The Road) quando la parcheggio in luoghi remoti durante le peripezie del NoPipe.
So che esistono già applicazioni che svolgono la stessa funzione ma non mi interessa. Lo faccio più che altro per tenermi in allenamento.
Veniamo al dunque. Una parte di questa mia applicazione sarà costituita appunto da una mappa in cui sarà segnalata la mia posizione, quella della mia auto e la strada più breve per ricongiungerci amorevolmente. Siccome per la visualizzazione di mappe Google mette a disposizione tutto l'occorrente per interagire direttamente con le Google Maps ho deciso di sfruttare questa risorsa (che poi credo sia l'unica via possibile in realtà).
Siccome occorre registrarsi per ottenere la chiave da usare per le mappe ho deciso di mostrarvi una piccola guida per effettuare la registrazione che, per quanto semplice, ha bisogno di qualche passo non del tutto banale.
Ma "ciancio alla bande" (si lo so, oggi sto male) cominciamo la guida:

Innanzitutto occorre precisare che è possibile ottenere due tipi di chiave per programmare con le Google Maps: debug e release. Io ovviamente mi concentrerò solo sulla chiave debug, gratuito ma che non consente di pubblicare il lavoro sullo store una volta terminato.

Il primo passo da compiere è, per chi ne fosse sprovvisto, creare un account Google.

Ora è necessario aprire anche l'ambiente di sviluppo, io utilizzo Eclipse e una volta avviato recarsi nel menu Windows > Preferences. Arrivati alla schermata delle preferenze entrate nella sezione Android > Build. Dovreste trovarvi davanti a questa schermata:



Ora non dovete fare altro che copiare (vi consiglio in un file di testo che poi una volta ottenuta la chiave potrete tranquillamente cancellare) il percorso che appare nella zona che ho evidenziato di rosso, vi servirà per il passo successivo.

Bene, potete chiudere il caro Eclipse. E' il momento di aprire una bella schermata del prompt dei comandi.

Il comando che dovete utilizzare ore è situato nella cartella della jre che utilizzate, più precisamente nella sottocartella bin (nel mio pc ad esempio si trova in C:\Programmi\Java\Jre6\bin). Il programma in questione si chiama keytool.
 Vi consiglio di spostarvi col prompt dei comandi (comando cd) direttamente in questa cartella in modo da poter eseguire il comando come vi indico qui di seguito:


keytool -list -alias androiddebugkey -keystore <store dir> -storepass android -keypass android

Al posto del parametro <store dir> dovrete andare ad inserire il valore che vi avevo fatto recuperare in precedenza dalle preferenze di Eclipse (quello che vi avevo consigliato di salvare in un file di testo).
Un altro consiglio che vi voglio dare: reindirizzate l'output di keytool in un file di testo per comodità.

Tenendo sempre sottomano l'output prodotto da quest'ultimo comando recatevi alla seguente pagina web:
http://code.google.com/android/maps-api-signup.html

Effettuate l'accesso col vostro account Google se necessario.
Vi troverete ora davanti a questa pagina:



Ora non dovete fare altro che accettare i termini d'uso e inserire il codice prodotto dal keytool (il mega codice con le cifre esadecimali per intenderci) nella casella di testo indicata con la freccia.

Premete ora il pulsante "Generate API Key" ed il gioco è fatto. Verrete reindirizzati in una nuova pagina in cui comparirà la vostra chiave. Mi raccomando salvate le informazioni presenti in questa pagina, io per sicurezza le ho anche stampate. La chiave vi servirà sempre ogni volta che dovrete utilizzare il componente MapView.

Ora siete pronti per inserire delle mappe geografiche all'interno delle vostra applicazioni Android (anche se solo in debug). L'Activity che utilizza le mappe dovrà estendere MapActivity, mentre il codice layout XML della mapView è reperibile direttamente dalla schermata finale della registrazione.

Io ho concluso qui. Per ulteriori informazioni o chiarimenti commentare pure qui sotto.
Rimanete sintonizzati sul NoPipe Blog.

Ciao.

Nessun commento:

Posta un commento