Midlet e aGPS

Vediamo come sia possibile con una midlet avere informazioni di localizzazione.

Attualmente alcuni dispositivi permettono all’utente di usufruire di servizi basati sulla localizzazione. Questi dispositivi dispongono di una nuova tecnologia chiamata aGPS (Assisted Global Positioning System). Questa tecnologia disponibile sul alcuni cellulari grazie al fatto che tutto il funzionamento si basa su un solo chip che può essere facilmente integrato in un dispositivo come un cellulare.

Dal punto di vista del programmatore è interessante capire come sia possibile accedere a questo modulo di localizzazione e utilizzare le informazioni ricavate in un programma. Per il momento l’unica marca di cellulari che permette un accesso da parte di J2ME a questi dispositivi è la Motorola con cellulari come l’a830, a835, a920, a925, tramite il package com.motorola.location .

Queste classi non sono disponibili per il pubblico perchè devono essere comprate con una licenza dalla Motorola, però possiamo vedere come siano praticamente uguali quelle disponibili per cellulari IDEN (rete cellulare non presente in Italia, differente dal GSM) sviluppate dalla Motorola.

Analizzando le API messe a disposizione ci rendiamo conto della semplicità con cui poter utilizzare questi dispositivi tramite J2ME e quindi speriamo in una futura standardizzazione (che tra l’altro già è avvenuta tramite la JSR 179). Per vediamo un semplice esempio di MIDlet che sfrutta l’aGPS. Prima di tutto importiamo il package com.motorola.location.* . Poi definiamo la nostra MIDlet nel seguente modo

In questo modo implementiamo l’interfaccia PositionLister che avverte la nostra MIDlet quando cambia la nostra posizione. Dobbiamo poi implementare il metodo newPosition, ad esempio nel seguente modo:

In questo modo la nostra MIDlet viene richiamata ogni volta che abbiamo un cambiamento della posizione e lo scrive a schermo. All’inizio della nostra MIDlet dobbiamo comunque fare la connessione con il modulo aGPS e dirgli ogni quanto vogliamo essere informati dei cambiamenti. Gestiamo tutto ciò in un semplice try-catch:

Usiamo il Connector location:// per collegarci al modulo, diciamo di aggiungere come Listener la nostra MIDlet e poi con il metodo generatePosition gli diciamo di controllare se è cambiata la posizione ogni 2 secondi. Se è cambiata verrà richiamato il metodo definito sopra (newPosition).

Come abbiamo visto, la connessione e l’utilizzo del modulo aGPS è molto semplice tramite J2ME e questo permette la realizzazione di molti programmi denominati LBS (Location Based Services).

Per maggiori informazioni ecco dei link

Motorola Iden Developer
JSR 179
Motorola Developer Homepage

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *