2011-05-22 11 views
12

¿Hay alguna otra alternativa a SQLite en Android para datos persistentes en el teléfono? Estoy buscando algo así como coredata de iOS o algo más simple como una tienda clave-valor. Si tenemos que incrustarlo con las aplicaciones, algo que es relativamente pequeño en tamaño también es genial.Persistencia de Android alternativa a SQLite

Gracias por su ayuda.

Respuesta

6

Si necesita solo una tienda simple para un par de llaves/valores, SharedPreferences es el camino a seguir. Si está buscando algo más potente, que se compare con los datos centrales, debe probar greenDAO. Al igual que Core Data, greenDAO es una capa entre sus objetos y el almacén de datos (Core Data en iOS generalmente también usa SQLite).

+0

¿Sabes que el soporte 'greenDAO' separa/fusiona el mapa de memoria? http://stackoverflow.com/questions/40399878/detach-merge-with-ormlight-greendao –

2

No sé nada acerca de iOS, pero echar un vistazo a SharedPreferences

+0

¿No es eso solo para las preferencias del usuario? –

+1

Puede tomar libertades con él; es una práctica bastante común usarlo para almacenar pequeñas cantidades de datos persistentes. – Haphazard

+0

SharedPreferences no es una preferencia cuando se trata de almacenar grandes cantidades de datos. – tGilani

2

Existen algunos métodos diferentes para la persistencia de datos en Android. Lea this Android article al respecto.

1

Existen tres métodos recomendados para almacenar datos de su aplicación Android (de acuerdo con los documentos de Android).

  1. Si necesita guardar la configuración, configuraciones, las credenciales de usuario Usted podría utilizar SharedPreferences. Ventajas: Los datos guardados en SharedPreferences son comparativamente mejores que la variable global estática. Como es seguro para subprocesos, los datos no desaparecerán incluso después de matar la aplicación.

  2. Si necesita guardar grandes cantidades de datos (por ejemplo, datos de acelerómetro, datos de gps), que son frecuentes, podría utilizar la base de datos SQLite.

  3. Sin embargo, si solo almacena datos grandes pero los procesa con poca frecuencia, sería mejor guardarlos en un archivo. Pero asegúrese de almacenar en caché los datos y guardar/anexar a un archivo a la vez (porque las operaciones de E/S consumen mucha CPU y consumen más energía).

0

Existe una llamada alternativa REALM es una biblioteca completa para gestionar la base de datos como objetos, similar a ActiveRecord (en Ruby on Rails). Y una de sus ventajas es la velocidad en las transacciones. Pero tenga cuidado porque es una nueva biblioteca, tal vez sea una buena idea primero lea toda la documentación.