Domanda

La mia app fa diverse chiamate a getFromLocationName dal android.location.Geocoder; Classe, questo è attualmente gestito nella mia attività che visualizza anche alcuni dati sui risultati di quella chiamata.

Questo può essere abbastanza lento, ad esempio prima che l'attività possa caricarla deve prima completare le varie chiamate, e questo dipende da una connessione di rete.

Una volta che ho i risultati, non ho davvero bisogno di aggiornarlo (intendo quanto spesso le posizioni e le coordinate GEO cambiano?)

La mia domanda : Come posso evitare meglio di dover interrogare per questi dati ogni volta che la mia app viene eseguita. Dovrei fare qualcosa con un servizio che li carica tutti all'avvio? (Potrebbe essere abbastanza lento se deve interrogare 50+ volte). O dovrei effettuare la chiamata, archiviare i risultati in SQL, quindi fare una domanda solo la prossima volta se attualmente non tengo i risultati?

È stato utile?

Soluzione

Se vuoi memorizzare rapidamente, consiglierei di archiviare i risultati più recenti in un database SQLite. Probabilmente potresti persino cavarsela usando il PreferenceManager Per una memoria rapida se non hai bisogno del database per nient'altro. Basta memorizzare le ultime coordinate e DateTime, quindi controllare se il DateTime è scaduto dopo x minuti o x ore (se è quello che vuoi fare).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top