Precedente :: Successivo |
Autore |
Messaggio |
Massimiliano Leone Ospite
|
Inviato: Ven 24 Giu 2016 01:09 Oggetto: Delucidazioni GPS Android |
|
|
(pardon del [jet]lag per la risposta)
"Per cui la mia domanda è: da dove diavolo prende le coordinate?" <- lo
prende dalle altre app che condividono il geofix, o dalla rete 3g
https://developer.android.com/guide/topics/location/strategies.html
https://developer.android.com/training/location/index.html
https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderApi#constant-summary
ptima del locationservice c'era il passive_location: le app che si
registrano al passive_location (e ora al fusedlocationprovider) ricevono un
intent che viene intercettato dal broadcastreceiver (che hai opportunamente
registrato al passive_location OR fusedlocationprovider) - in quell'intent
c'è la geoposizione che altre app (in primis: google maps) hanno ottenuto,
e che, generosamente, ricondividono nel sistema
qui una lettura interessante su quello che fu il passive_location (poi
confluito nel fusedlocationprovider)
http://android-developers.blogspot.it/2011/06/deep-dive-into-location.html
qui un progetto (attuale, che io stesso utilizzo nelle mie app) che
implementa in maniera adeguata le location strategies del fusedprovider:
https://github.com/mrmans0n/smart-location-lib (non è l'unico, ma è quello
che più mi piace per eleganza d'implementazione e chiarezza architetturale)
qui un progetto obsoleto https://github.com/jgilfelt/Novocation che
implementava le strategies PRE fusedlocation ma che è assai interessante
come caso di studio
qui un altro progetto pre-fused, che usa aspectj per ottenere la
geoposizione
https://github.com/mttkay/ignition/blob/master/ignition-location/ignition-location-samples/src/com/github/ignition/samples/location/ui/IgnitedLocationSampleActivity.java
(non c'è doc/readme come negli altri, perciò il link è diretto al codice)
qui, infine, dei progetti miei che fanno da wrapper ai progetti di cui
sopra (novocation prima, e smart-location-lib poi)
https://github.com/k0smik0/polaris <- pure interfacce che definiscono
signature per il client
https://github.com/k0smik0/kusor <- il wrapper vero e proprio delle
librerie di cui sopra, che implementa le interfacce definite in polaris
ti ho linkato pure i miei progetti (non-pubblicità mode on) perchè magari
trovi altre facce del poliedro della funzionalità "voglio la geoposizione"
come vedrai leggendo i vari samples (delle librerie precedenti), c'è chi ha
accoppiato la chiamata al metodo "getLastKnowLocation" all'Activity, chi a
un particolare trigger, eccetera - ognuno aveva una sua idea
architetturale, del resto -- i miei wrapper sono l'ennesima variante sul
tema, poiché io volevo usare le funzionalità del locationservice in un
Service, in un primo momento, e successivamente anche in altri componenti
(esternalizzabili), sicchè prima nacque un wrapper "alla buona", e poi lo
refactorizzai il tutto dividendo in interfacce+implementazione, la qual
seconda, all'occorrenza, switcha libreria in base a varie ed eventuali
(supporto non più presente [es: novocation], "bellezza"
dell'implementazione [es: smart-location-lib], ecc]
se stai realizzando un'app tanto per divertimento, magari i 3/4 di queste
chiacchiere ti avranno già annoiato, se invece ti stai cimentando in
android (+o-) seriamente, adotta come leit-motiv "disaccoppiamento" - ti
renderai conto da te che ad ogni update di major version (a volte anche
minor) ti cambiano le API sotto il naso, sia come signature che come
comportamento, e se ti leghi fortemente a un componente/implementazione
(spesso perche ti ispiri a un libro/sito di esempio), dopo 6 mesi inizi a
imprecare perche non funziona quasi piu niente
buon divertimento ;D
ps:
il sito howtogeek dice (anche) il giusto, ma passive_location a.k.a.
fusedlocationprovider se ne frega di quelle impostazioni che tu togli/metti
come indicato - se disattivi lo scanning (a parte risparmiare batteria, che
non fa male), rendi solo più lenta la triangolazione in aree in cui non sei
mai stato, ma non aumenti la (tua) privacy: una volta che ti sei collegato
a una certa wifi, android manda la coppia macaddress (di quella wifi) -
geoposition a google medesimo, per future triangolazioni rapide (tue o di
altri)
pps: la geoposition la manda per associarlo all'ap cui sei collegato,
quindi, alfine, sta mantenendo informazioni (+o-) sensibili del
proprietario dell'ap.
ri-buon divertimento ;D
Il giorno 16 febbraio 2016 16:01, ThEgAmEr <xthegamerx@xxxxxx.xyz> ha
scritto:
_________________
---------
Massimiliano Leone
www.iubris.net
http://plus.google.com/+MassimilianoLeone
http://twitter.com/iubris |
|
Top |
|
|
|
|
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
|
|