No hay una respuesta directa para esta pregunta. La elección depende completamente de los requisitos de la aplicación. Así que a menos que usted no tiene el problema real no se puede decir acerca de la mejor solución. Teniendo esto en cuenta todas las opciones que tenemos, tienen sus propios pros y contras.
Tenemos muchas opciones para la base de datos, por ejemplo
- SQLite,
- Firebase Realtime Database
- FireStore
- Realm
- Room
- MySQL etc.
En muchos casos puede terminar utilizando múltiples bases de datos. Porque a menudo utilizamos tanto una base de datos externa que reside en nuestro servidor como una base de datos local (normalmente SQLite) que almacena en caché nuestros datos en el móvil para el acceso sin conexión.
Ahora vamos a suponer algunos escenarios.
Por ejemplo, quieres construir una aplicación de chat, o un tipo de red social. Si quieres usar sólo SQLite o una base de datos local para este tipo de aplicación entonces no es posible. En este caso debes usar una base de datos que sea central para todos los usuarios. Por ejemplo Firebase Database o MySQL.
Pero si estás construyendo un sistema de facturación aislado para una tienda donde los datos no necesitan ser accedidos fuera de la aplicación puedes usar SQLite o Room.
Ahora déjame hacer algo de autopromoción 😉
He publicado tutoriales sobre el uso de bases de datos en Android que puedes consultar.
#1 Tutorial de Room en Android
#2 MySQL en Android con PHP y Retrofit
#3 Tutorial de base de datos en tiempo real de Firebase
Y si te pasas por mi canal entonces encontrarás mucho más. Espero que esto te ayude. Gracias 🙂