Your SlideShare is downloading. ×
Corso Tecnologie Mobile - Lezione laboratorio 2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Corso Tecnologie Mobile - Lezione laboratorio 2

673
views

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

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
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
673
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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