Lectura Fichero

joselichu007

Buenas,

estoy haciendo un juego de preguntas en Android y me esta surgiendo un problema "menor".
Las preguntas y respuestas las tengo almacenadas en un fichero .txt En plan:

pregunta@respuesta1@respuesta2@respuesta3@respuesta4@correcta;

Supongo que ya os imaginareis es porque de las @ y el ;.

El problema viene en que tengo 1000 preguntas ya, por lo tanto la lectura del fichero es cada vez más lenta.
El fichero lo leo con un clásico While {.readLine}
Obviamente solo lo leo la primera vez que entro y lo deja guardado en sesión en un Array.

Llevo toda la semana comiéndome la cabeza y no le veo una solución clara. He pensado meter las preguntas en una clase e ir leyéndolas, pero no me convence demasiado.

¿Alguna sugerencia?

Un saludo.

Kiroushi

No he programado nada en Android, pero por qué no creas simplemente un array con las preguntas y respuestas?

1 respuesta
joselichu007

#2 Si, es una de las maneras que me he planteado. Pero entre que por el momento son 1000 preguntas e irán añadiéndose alguna más no me parecía lo más "limpio". Pero vamos que como no encuentre otra manera Array al canto xD
Thx!

1 respuesta
Kiroushi

#3 Sin contar acceso a BD no encontrarás algo más "limpio" para almacenar parejas de datos que un array XD.

Encima es que en la cadena tienes separadas las preguntas y respuestas por el mismo carácter, con lo que si en algún momento dejas una vacía o la pregunta o respuesta tienen dicho carácter (@), la lías pardísima...

No esperes y cámbialo ya.

1 respuesta
joselichu007

#4 Acceso a BD si no fuera Android iba directo, pero no quiero meterme en un fregado xD
Lo de la @ ya me paso al hacer el Split xD (previsible).
Pues nada me has convencido, lo meteré en un ArrayList que me molan más xD

Gracias!

elkaoD

No lo metas en un ArrayList por favor. Ya es una aberración meter eso en un array, pero en un ArrayList encima pierdes rendimiento.

O BD o BD.

C

sqlite es fácil y para toda la familia

1 1 respuesta
Maaarc

Si el juego es rollo 50x15, que cada pack de preguntas sea un txt, vease:

Dificultad 1:
Cargas el txt de 50 preguntas

Dificultad 2:
Liberas el txt de dificultad 1 y cargas el de dificultad 2.

Eso si, el juego no se de que va sino podría poner ideas pero vamos que no se programar-lo y quizás son inviables xD

1 respuesta
joselichu007

#7 El problema no es el Sql, si no el hecho de montarlo en Android. Al final voy a tardar un par de horas mínimo en montarlo, para crear solo una tabla.

#8 El juego no tiene mucha historia. Sale una pregunta, respondes una de las 4 opciones y durante 2 segundos se resalta con colores si has acertado o no, y siguiente pregunta.

Al final el problema actual es que al tener ya más de 1000 lineas/preguntas el método readLine se demora ya demasiado al cargar.

BLZKZ

tienes SQLite y dejate de tonterias -.-"
Y no se tarda horas, vas a tardar minutos.

En cualquier caso si te sigues negando usa JSON o XML, pero nada de mierdas como las que intentas por favor.

2

Usuarios habituales

  • BLZKZ
  • joselichu007
  • Maaarc
  • elkaoD
  • Kiroushi