Almacenamiento de datos grandes local o en línea para la aplicación de Android?

Primera vez que publica y la primera vez que trabaja en Android, así que vaya fácil si estoy rompiendo cualquier regla 🙂

De todos modos, acabo de hacer una aplicación para Android y estoy tratando de crear un juego de trivia simple. Planeo tener muchas preguntas (esperanzadamente sobre 5000+ preguntas) hechas. Ninguna manipulación de datos hecha, simplemente recto leyendo las preguntas y presentándolo al usuario. Ahora me encuentro con el dilema de cómo almacenar las preguntas.

Tengo dos opciones:

1.) Agrupe las preguntas con la aplicación: Posiblemente almacene la información en SQLite. Originalmente, para fines de demostración, hice las preguntas en un archivo XML, pero rápidamente me di cuenta de lo ineficiente que será una vez que las preguntas empiecen a subir. En primer lugar, me preocupa si la apertura de un archivo XML tan grande chupar la memoria de Android. En segundo lugar, me preocupa lo grande que sería la aplicación si contiene más de 5000 preguntas. He leído aquí sobre los pros de XML vs SQLite. En ese ejemplo, el usuario tiene 70.000 entradas así que quizás mis 5.000 preguntas sería suficiente?

O

2.) Anfitrión de las preguntas en un servidor: Creo que la parte superior es la aplicación no tendría que ser incluido con una gran cantidad de preguntas y no tendría que preocuparse por la lógica de la apertura y montaje de las preguntas. Simplemente golpearía una página PHP y dependiendo de los parámetros enviados, la página PHP devolvería las preguntas en formato XML. La desventaja es que el usuario tendría que estar en línea (para recuperar las preguntas) con el fin de jugar el juego y mi servidor tendría que estar en funcionamiento 24/7.

¿Alguien ha encontrado este problema de diseño de cómo y dónde almacenar gran cantidad de datos en una aplicación de Android?

¡Gracias, cualquier ayuda sería muy apreciada!

2 Solutions collect form web for “Almacenamiento de datos grandes local o en línea para la aplicación de Android?”

Desde una perspectiva de marketing, creo que el enfoque correcto es # 1. Sólo mirando la lista de aplicaciones superior, está lleno de aplicaciones que funcionan sin conexión. No sé por qué la mayoría de la gente no menciona este criterio importante cuando hablan de aplicaciones de marketing … especialmente en Android, donde mucha gente no tiene un plan de datos. Además, una aplicación de trivia suena como algo que alguien probablemente usaría durante un viaje en un tren en lugar de algo como Facebook Chat que usarían cuando estuvieran en línea.

Desde una perspectiva técnica, almacenar más de 5000 preguntas realmente no tomará una gran cantidad de espacio. Hay esta aplicación llamada "MyFitnessPal". Almacena quizás más de 30.000 alimentos en una base de datos SQlite, con información nutricional. Así que no sobrestimar cuánto espacio tomará.

La ventaja de ir con # 2 es si las preguntas o las respuestas cambian a menudo, usted puede ser que quiera ir con ese acercamiento.

Creo que la mejor opción para usted es almacenar las preguntas en SQLite . De esta manera los usuarios pueden tener acceso a su juego, incluso si están fuera de línea, que es una de las cosas importantes como Hisoka mencionado. Así que creo que deberías intentar usar SQLite.

  • ¿Java sobreescribe XML en Android?
  • Cambiar el color de fondo de la barra de acción mediante AppCompat
  • Cómo detener la tarea Asyn en onPreExecute?
  • XML para la programación de Android
  • ¿Cómo puedo colocar dos botones al lado de una imagen en la parte inferior del botón?
  • Buscar ver cerrar icono aparecer deshabilitado en lugar de blanco
  • Configuración de alfa de dibujable a través de xml
  • Cómo abreviar un TextView?
  • Diseño gráfico de eclipse que no muestra nada
  • Lectura y escritura de archivos XML
  • LibGDX leer archivo XML
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.