Android – Guardar ubicación en la base de datos SQLite

Tengo problema con excepto la latitud y la longitud en la base de datos de SQLite. Puedo guardar una ubicación como (123.123999, 123.123999) y se guardará en la base de datos. Pero si quiero leerlo, obtengo una ubicación redondeada (123.124, 123.124).

Mi tabla creada por este segmento de sql:

CREATE TABLE locs(id INTEGER PRIMARY KEY AUTOINCREMENT, lat DOUBLE, lng DOUBLE, num INTEGER) 

Y los resultados de las consultas:

 SELECT * FROM locs WHERE lat = 123.124; //RETURN NO ROWS SELECT * FROM locs WHERE lat = 123.123999; //RETURN 1 ROW 

Así que no puedo usar los números que tengo para hacer consultas sobre los datos.

Creo que no soy el primero en manejar este problema, porque es lo básico. Pero no encontré ninguna respuesta que funcione en la base de datos SQLite.

¿Cómo puedo leer y escribir el número correcto en el db?

2 Solutions collect form web for “Android – Guardar ubicación en la base de datos SQLite”

¿Cómo puedo leer y escribir el número correcto en el db?

Le sugiero una solución rápida.

Dado que sabes en qué formato estás almacenando tus coordenadas eq números por lo que no hay problema para almacenarlos como TEXT y luego recuperarlos como TEXT y simple realizar analizar de nuevo a DOUBLE si desea hacer algunas cosas con ellos.

 CREATE TABLE locs( id INTEGER PRIMARY KEY AUTOINCREMENT, lat TEXT, lng TEXT, num INTEGER ) 

Debe definir un epsilon alrededor del valor consultado, es decir,

 SELECT * FROM locs WHERE lat BETWEEN value-epsilon AND value+epsilon; 

Usted puede cambiar su epsilon según su necesidad. En el ejemplo que le dio 1e-3 debería ser suficiente.

Otra opción es redondear los valores cuando los insertas, pero luego perderás información que necesites en el futuro.

  • ¿Podemos usar una base de datos SQLITE aldready preparada para una aplicación phonegap?
  • Android SQLiteException: índice de enlace o columna fuera del rango
  • Cómo utilizar FTS3 en SQLite
  • Dificultad para actualizar la tabla SQlite
  • ¿Cómo eliminar la base de datos del emulador?
  • Problema de corrupción de bases de datos precargado en la aplicación de Android
  • ¿La desinstalación de una aplicación android borra la base de datos almacenada en sdcard?
  • Cómo lograr una relación de "herencia" en la base de datos SQLite en Android
  • Sqlite plugin para Eclipse: depurar la base de datos sqlite en el dispositivo Android en vivo
  • La base de datos SQLite no funciona en Android 4.4
  • Pros y contras de SQLite y preferencias compartidas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.