Tecnologie Mobili -  Lezione Laboratorio  2 Ritroviamo l’automobile
Requisiti <ul><li>Sviluppare una applicazione che consente di definire dove si trova un veicolo utente e di recuperare la ...
Dr. Paolo Casoto, Ph.D - 2011 http://www.flickr.com/photos/vimages/2474339271/ Vogliamo evitare questo…
Passo 1 - Creazione del progetto <ul><li>Creiamo un progetto come abbiamo già fatto la scorsa settimana, per iPhone, senza...
Passo 2 – Importiamo le librerie necessarie <ul><li>Prima di avviare la realizzazione del progetto dobbiamo importare 2 li...
Passo 2 – Importiamo le librerie necessarie Dr. Paolo Casoto, Ph.D - 2011 Qui >>
Passo 3 – Inseriamo le componenti grafiche <ul><li>Di cosa abbiamo bisogno ? </li></ul><ul><ul><li>Un pulsante per la memo...
Passo 3 – Inseriamo le componenti grafiche Dr. Paolo Casoto, Ph.D - 2011
Passo 4 – Aggiungiamo i riferimenti all’interno del codice <ul><li>All’interno del codice dobbiamo aggiungere i riferiment...
Passo 4 – Aggiungiamo i riferimenti all’interno del codice Dr. Paolo Casoto, Ph.D - 2011
Dr. Paolo Casoto, Ph.D - 2011
Passo 5 - Introduciamo i metodi per la gestione della mappa <ul><li>All’interno del metodo viewDidLoad indichiamo che la n...
Passo 5 - Introduciamo i metodi per la gestione della mappa Dr. Paolo Casoto, Ph.D - 2011 << Localizzazione dell’utente <<...
Passo 5 - Introduciamo i metodi per la gestione della mappa <ul><li>Il metodo  </li></ul><ul><ul><li>(void)setCenterCoordi...
Passo 6 - Il geocoding <ul><li>Dobbiamo identificare l’indirizzo delle posizioni GPS dove si trova l’utente e dove si trov...
Dr. Paolo Casoto, Ph.D - 2011 http://www.flickr.com/photos/irisheyes/7282155
Passo 6 - Il geocoding <ul><li>Quando attivare il processo di geocoding ? </li></ul><ul><ul><li>All’avvio del sistema per ...
Passo 6 - Il geocoding Dr. Paolo Casoto, Ph.D - 2011 << Formattazione dei dati << Funzione di callback
Passo 7: salvataggio dei dati <ul><li>Per la memorizzazione dei dati ed il loro recupero al riavvio della applicazione uti...
Dr. Paolo Casoto, Ph.D - 2011
Domande ??? Grazie a tutti per l’attenzione Dr. Paolo Casoto, Ph.D - 2011
Upcoming SlideShare
Loading in …5
×

Corso Tecnologie Mobile - Lezione laboratorio 2

708
-1

Published on

Slide della seconda attività di laboratorio del corso ENAIP in Tecnologie di Rete Mobile. Realizziamo insieme un semplice progetto per monitorare la posizione della nostra automobile

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
708
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Corso Tecnologie Mobile - Lezione laboratorio 2

  1. 1. Tecnologie Mobili - Lezione Laboratorio 2 Ritroviamo l’automobile
  2. 2. Requisiti <ul><li>Sviluppare una applicazione che consente di definire dove si trova un veicolo utente e di recuperare la posizione in un secondo momento </li></ul><ul><ul><li>Visualizzazione sulla cartina </li></ul></ul><ul><ul><li>Identificazione del percorso per raggiungere l’auto </li></ul></ul>Dr. Paolo Casoto, Ph.D - 2011
  3. 3. Dr. Paolo Casoto, Ph.D - 2011 http://www.flickr.com/photos/vimages/2474339271/ Vogliamo evitare questo…
  4. 4. Passo 1 - Creazione del progetto <ul><li>Creiamo un progetto come abbiamo già fatto la scorsa settimana, per iPhone, senza abilitare alcuna opzione </li></ul>Dr. Paolo Casoto, Ph.D - 2011
  5. 5. Passo 2 – Importiamo le librerie necessarie <ul><li>Prima di avviare la realizzazione del progetto dobbiamo importare 2 librerie necessarie al nostro progetto </li></ul><ul><ul><li>MAPKIT : libreria per la gestione delle mappe e dell’interazione con le mappe </li></ul></ul><ul><ul><li>CORELOCATION : libreria per la gestione del segnale GPS e per l’identificazione della posizione dell’utente. </li></ul></ul><ul><li>Importeremo le due librerie all’interno dei file ViewController.h e ViewController.m </li></ul>Dr. Paolo Casoto, Ph.D - 2011
  6. 6. Passo 2 – Importiamo le librerie necessarie Dr. Paolo Casoto, Ph.D - 2011 Qui >>
  7. 7. Passo 3 – Inseriamo le componenti grafiche <ul><li>Di cosa abbiamo bisogno ? </li></ul><ul><ul><li>Un pulsante per la memorizzazione della posizione </li></ul></ul><ul><ul><li>Un pulsante per visualizzare il percorso dalla posizione attuale alla posizione dell’auto </li></ul></ul><ul><ul><li>Un pulsante per eliminare la posizione memorizzata </li></ul></ul><ul><ul><li>Una etichetta per visualizzare l’indirizzo dove è posizionato l’utente </li></ul></ul><ul><ul><li>Una etichetta per visualizzare l’indirizzo dove è posizionata l’auto </li></ul></ul><ul><ul><li>Ed infine…la mappa </li></ul></ul>Dr. Paolo Casoto, Ph.D - 2011
  8. 8. Passo 3 – Inseriamo le componenti grafiche Dr. Paolo Casoto, Ph.D - 2011
  9. 9. Passo 4 – Aggiungiamo i riferimenti all’interno del codice <ul><li>All’interno del codice dobbiamo aggiungere i riferimenti ad alcuni elementi o attività della nostra interfaccia grafica. </li></ul><ul><li>Quali ? </li></ul><ul><ul><li>Le due etichette…poiché dobbiamo scriverci all’interno. </li></ul></ul><ul><ul><li>La mappa…poiché dobbiamo collocarci all’interno la posizione dell’utente e dell’auto </li></ul></ul><ul><ul><li>Le azioni da collegare ai pulsanti </li></ul></ul>Dr. Paolo Casoto, Ph.D - 2011
  10. 10. Passo 4 – Aggiungiamo i riferimenti all’interno del codice Dr. Paolo Casoto, Ph.D - 2011
  11. 11. Dr. Paolo Casoto, Ph.D - 2011
  12. 12. Passo 5 - Introduciamo i metodi per la gestione della mappa <ul><li>All’interno del metodo viewDidLoad indichiamo che la nostra mappa dovrà visualizzare automaticamente la posizione dell’utente. </li></ul><ul><ul><li>self.map.showsUserLocation = YES; </li></ul></ul><ul><li>Nel file xib devo collegare il delegato della mappa alla File ’ s Owner, per indicare che è il controller stesso a controllare alcuni dei comportamenti della mappa </li></ul><ul><li>In particolare andremo a ridefinire il metodo - (void) mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation per garantire l ’ aggiornamento della posizione dell ’ utente </li></ul>Dr. Paolo Casoto, Ph.D - 2011
  13. 13. Passo 5 - Introduciamo i metodi per la gestione della mappa Dr. Paolo Casoto, Ph.D - 2011 << Localizzazione dell’utente << Centro la mappa
  14. 14. Passo 5 - Introduciamo i metodi per la gestione della mappa <ul><li>Il metodo </li></ul><ul><ul><li>(void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated; </li></ul></ul><ul><ul><li>centra la mappa attorno alla posizione dell’utente </li></ul></ul><ul><li>Il metodo </li></ul><ul><ul><li>- (void)setRegion:(MKCoordinateRegion)region animated:(BOOL)animated; </li></ul></ul><ul><ul><li>utilizza la posizione dell’utente e dell’autoveicolo per definire una opportuna area per la visualizzazione all’interno della mappa che consenta di visualizzare tutte le informazioni necessarie. </li></ul></ul>Dr. Paolo Casoto, Ph.D - 2011
  15. 15. Passo 6 - Il geocoding <ul><li>Dobbiamo identificare l’indirizzo delle posizioni GPS dove si trova l’utente e dove si trova l’automobile. </li></ul><ul><li>Nello specifico dobbiamo fare la cosiddetta attività di GEOCODING (dalle coordinate all’indirizzo) </li></ul><ul><ul><li>Il contrario prende il nome di Reverse Geocoding </li></ul></ul><ul><li>Dalla versione 5.0 il geocoding è realizzato mediante i metodi della classe CLGeocoder e, in particolare, il metodo geocoder reverseGeocodeLocation:location completionHandler </li></ul><ul><ul><li>completitionHandler è un puntatore a funzione, che l ’ utente può definire sul momento per consentire la gestione del risultato della funzione di geocoding. </li></ul></ul>Dr. Paolo Casoto, Ph.D - 2011
  16. 16. Dr. Paolo Casoto, Ph.D - 2011 http://www.flickr.com/photos/irisheyes/7282155
  17. 17. Passo 6 - Il geocoding <ul><li>Quando attivare il processo di geocoding ? </li></ul><ul><ul><li>All’avvio del sistema per la posizione utente e della eventuale posizione dell’auto già registrata </li></ul></ul><ul><ul><li>Alla modifica della posizione utente </li></ul></ul><ul><ul><li>Alla registrazione di una nuova posizione per l’auto </li></ul></ul><ul><li>Cosa fare all’arrivo dei dati ? </li></ul><ul><ul><li>I dati del processo di geolocalizzazione sono memorizzati all’interno di un oggetto CLPlacemark. </li></ul></ul><ul><ul><li>I campi dell’oggetto, opportunamente formattati, devono essere assegnati all’interno delle stringhe che descrivono i due indirizzi </li></ul></ul>Dr. Paolo Casoto, Ph.D - 2011
  18. 18. Passo 6 - Il geocoding Dr. Paolo Casoto, Ph.D - 2011 << Formattazione dei dati << Funzione di callback
  19. 19. Passo 7: salvataggio dei dati <ul><li>Per la memorizzazione dei dati ed il loro recupero al riavvio della applicazione utilizziamo il meccanismo di persistenza più semplice fra quelli offerti da iOS: NSUserDefaults </li></ul><ul><ul><li>Hashtable chiave-valore di oggetti persistenti, che l ’ utente può utilizzare per memorizzare informazioni </li></ul></ul><ul><ul><li>E ’ consigliabile solo per insiemi limitati di informazioni. </li></ul></ul><ul><ul><li>Il metodo synchronize ne consente la memorizzazione. </li></ul></ul>Dr. Paolo Casoto, Ph.D - 2011
  20. 20. Dr. Paolo Casoto, Ph.D - 2011
  21. 21. Domande ??? Grazie a tutti per l’attenzione Dr. Paolo Casoto, Ph.D - 2011

×