En primer lugar, le sugiero que almacene la menor cantidad posible de datos en el lado del cliente (la aplicación de Android). Si el usuario siente que la aplicación usa más memoria, puede optar por desinstalarla, por lo que debe almacenar la mayoría de los datos en el servidor y muy poca porción de datos requerida en la aplicación de los usuarios finales.
La opción número uno que te sugiero es Realm: crea aplicaciones móviles reactivas en una fracción del tiempo. Es realmente rápido y está diseñado para manejar millones de entidades de datos en solo unos pocos microsegundos. Las principales compañías como Google también lo usan. La base de datos del reino se usa en miles de millones de dispositivos móviles, por lo que puede ver la popularidad de la misma. Cuando tiene el reino, no necesita buscar otras opciones de base de datos. La mejor parte de Realm es su base de datos Object y podemos guardar el esquema en formato de clase y puede tener datos almacenados como objeto de esa clase. Se vuelve fácil llenar su vista de lista / vista de reciclador ya que puede pasar directamente ArrayList (o RealmList) de objetos de reino. Incluso tienen su propia versión de la vista de reciclaje, aquí no tiene que notificar cuando cambian los datos, los cambios se reflejan automáticamente en la interfaz de usuario cuando se realizan cambios en los objetos del reino. Realm está disponible en Java, JavaScript (para reaccionar nativo) e incluso Objective C para iOS (en caso de que comience a desarrollar aplicaciones para iPhone). Con Realm Mobile Platform puedes sincronizar tus datos móviles con el servidor, se llama sincronización sin conexión . Esto es útil cuando desea tener una copia de seguridad de sus datos del lado del cliente. Incluso puede tener escuchas que le notificarán cuando cambie el valor de un objeto para que pueda modificar su IU en consecuencia. Sin embargo, también hay algunas desventajas. Debe cambiar el código de migración si cambia su esquema, existe la posibilidad de que pierda los datos si comete un error al escribir el código de migración. Debe tener más cuidado con las excepciones de puntero nulo.
Otra opción es SnappyDB, que es utilizada por Uber, hay un artículo medio que compara Realm con SnappyDB.
- ¿Qué habilidades de programación se requieren para hacer una aplicación de Android?
- ¿De qué manera Java 8 está relacionado con el desarrollo de Android?
- ¿Cómo automatizas las pruebas de software en Android?
- ¿Qué puedo hacer para ejecutar un proceso de una aplicación de Android en segundo plano sin dejar que el usuario lo sepa?
- ¿Qué significa "casos de uso" en el desarrollo de MVP de Android?
“Punto de referencia de la base de datos: Reino vs. SnappyDB “Base de datos de referencia: Realm vs. SnappyDB – Hesam – Medio