|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
T Búsqueda en este sitio:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android.
Tutorial de App inventor 2 - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial

____________________________

55A.- Preguntas tipo test. (II)

p55A_preguntas_tipo_test_archivo.aia

- Inicio:

- Este ejemplo es la ampliación del anterior.

- La diferencia fundamental es que los datos, en vez de tomarlo de una Lista, la vamos a tomar de un archivo externo llamado tipo_test.csv

- De esta manera, el realizador del test tendrá más facilidad para construirlo, solo tendrá que poner las preguntas, opciones y respuesta correcta en el archivo tipo_test.csv, lo pasa al móvil y de ahí se toma los datos de la prueba.

Como ya hemos visto en otra ocasión, los archivos csv (valores separados por coma), son archivo que contienen datos separados por coma y por cambio de líneas. Se pueden considerar como una base de datos. Si en vez de separar los datos por coma, los separamos por punto y coma se abrirán fácilmente con el Excel. (también se pueden abrir con el Excel si están separados por coma, pero puede parecer algo más complicado).

- Creación del archivo de preguntas y respuestas. Cargar el archivo en el móvil.

- Con el Bloc de notas (te aconsejo que bajes de Internet el Notepad ++, es muy bueno), creas en tu ordenador un archivo llamado tipo_test.csv y escribe el siguiente contenido:

tipo_test.csv
Capital de Francia;Roma;París;Berlín;París
Capital de Italia;Londres;Moscú;Roma;Roma
Capital de Portugal;Roma;Lisboa;Atenas;Lisboa
Capital de Alemania;Berlín;Moscú;Roma;Berlín
Capital de Rusia;París;Roma;Moscú;Moscú
Capital de Polonia;Londres;Varsovia;Roma;Varsovia

Establece la codificación en UTF-8 para poder poner los acentos.

En el campo 1 observamos la pregunta: Capital de Francia;
En los campos 2, 3 y 4 las opciones: Roma;Paris;Berlin;
En el campo 4 la respuesta correcta: Paris

Observamos que los campos están separados por punto y coma;

Una vez creado y guardado en tu ordenador, pulsa el archivo con el Excel de Windows, observarás que se abre como una Hoja de Cálculo.

_________________
- Copia el archivo en la SdCard

Este archivo que has creado en tu ordenador lo tienes que pasar de alguna manera al móvil para hacer las pruebas.

Una forma de pasar archivos del móvil al ordenador y viceversa es instalando en tu móvil la aplicación Web PC Suite que puedes bajar e instalar en tu móvil desde la Play Store de Google.

Cargar el archivo desde tu ordenador a la raíz de tu tarjeta SDCard.

- Ya tenemos el archivo de preguntas y respuestas en nuestro móvil.

- Cuando el usuario quiera cambiar las preguntas solo tendrá que ir al Notepad o al Excell, cambiarlo y volverlo a cargar en el móvil, de esta manera podremos facilmente tener una biblioteca de archivos con preguntas.

- También podrías pasar el archivo al móvil, simplemente mediante el cable USB.

- Más abajo he puesto información sobre el lugar donde se podría guardar el archivo tipo_test.csv

____________________________________

- Diseño.

- Al Diseño anterior le agregamos:

- un Botón para Cargar el Archivo.
- un Archivo1
- NO es necesario Subir el archivo tipo_text.csv al Diseño como está en la imagen, ya que el archivo debe estar en la raíz de la tarjeta SdCard del móvil


- No es necesario subir el tipo_text.csv al Diseño. Lo debemo copiar en la SdCard.

____________________________________

- Bloques.

- Cuando pulsamos el Botón de Cargar_Archivo, se lee el archivo tipo_test.csv que se encuentra en la raíz de la SDCard.

- Se sustituyen los punto y comas por comas, y se asigna a la Lista pregunta. Lo pasamos de formato CSV a formato Lista.

- Los separadores de campo son punto y coma para que el Excel pueda leer directamente el archivo.
- En el código paso los punto y coma a coma, para que pueda ser interpretado como CSV, ya que este Android toma la coma como separador de campo.

- Se podría haber creado desde el principio los separadores con coma, de esta manera nos ahorraríamos el bloque de sustitutir.

- Ya tenemos en la Lista preguntas con la información de preguntas y respuestas.

- Las variables a, b y c serán las opciones. La variable respuesta, la solución.

El Botón btn_Inicio, inicializa las variables y varias Etiquetas.

Cuando pulsamos el Botón btn_Siguiente...

Añadimos un 1 a siguiente que actuará como índice de la Lista. Tomaremos el índice siguiente de la Lista pregunta:

Capital de Francia, Roma,Paris,Berlin,Paris

Estas las introduciremos en otra Lista llamada opciones, pasará directamente de la siguente manera a
la Lista opciones

1 Capital de Francia
2 Roma
3 Paris
4 Berlin
5 París

El índice 1 es la pregunta que se presentará en la Etiqueta1

Los índices 2, 3 y 4 son las opciones a, b y c que aparecerá sobre los Botones 1 (Roma), 2 (París) y 3 (Berlín).

La variable respuesta tomará el índice 5, en este caso París

Cuando pulsamos el Botón 1, 2 o 3, se tomará el texto del botón pulsado y se asignará a la variable texto_botón. Se llamará al procedimiento comprobar.

El procedimiento comprobar, comprobará si el texto del botón pulsado es igual a la respuesta.
En caso que sea igual se sumará uno al acierto.
En caso contrario se restará uno al acierto.

Se presentará en la Etiqueta3 la puntuación de aciertos.

____________________________________

- Mejora.

Las opciones apareceran desordenadas aleatoriamente.

- Cada vez que iniciemos las preguntas, el texto en los Botones aparecerá de la forma en que está en el archivo

tipo_test.csv
Capital de Francia;Roma;París;Berlín;París
Capital de Italia;Londres;Moscú;Roma;Roma
Capital de Portugal;Roma;Lisboa;Atenas;Lisboa
Capital de Alemania;Berlín;Moscú;Roma;Berlín
Capital de Rusia;París;Roma;Moscú;Moscú
Capital de Polonia;Londres;Varsovia;Roma;Varsovia

Vamos a realizar un código para que cada vez que se presenten las opciones estén desordenadas, es decir que una vez aparezca para la misma pregunta (Capital de Francia):

Roma Paris Berlin

y en otra ocasión

Berlin Roma Paris

y en otra

Paris Berlin Roma

por ejemplo.

Se puede realizar de varias formas, como estos son ejemplos de aprendizaje voy a utilizar un algoritmo que creo se puede entender.

Dispongo de tres variables x y z

La variable x obtiene un número aleatorio de 2 al 4
La variable y obtiene un número aleatorio de 2 al 4 y mientras sea igual al de la x, crea otro hasta lograr uno que no sea igual
La variable z obtiene un número aleatorio de 2 al 4 y mientras sea igual al x o al y, crea otro hasta lograr uno distinto a los dos.

De esta manera obtendremos tres números en las variables x y z

Por ejemplo: 234 o bien 243 o bien 324 o bien 342 o bien 423 o bien 432

De tendremos asignado los número 2 3 4 a x y z de manera desordenada y no repetida.

Cambiamos el btn_Siguiente

llamando al procedimiento alea

obtendremos cada vez un valor de x y z

de manera que esos índice aparecerán cada vez desordenados.

____________________________________

- Volvemos al archivo tipo_test.csv

El archivo /tipo_test_csv, puede estar en varios lugares

1.- Al principio de este tutorial subimos "manualmente" el archivo tipo_test.csv a la carpeta raíz de la SDCard, para Leer el archivo en el código lo leimos desde /tipo_test.csv, creo que esta es la manera más operativa de funcionamiento.

2.- También podríamos haber subido el archivo mediante el botón de Subir (lo hemos hecho en el ejemplo anterior pero no lo hemos utilizado en ese lugar) que se encuentra en el Diseño, de hecho lo hemos subido.

2A.- Si subimos el archivo mediante el botón Subir, mientras estamos depurando el código se guardará en:

/mnt/sdcard/AppInventor/assets/tipo_test.csv

2B.- Cuando el programa ya está terminado y vamos a Generar el archivo de instalación .apk, previamente debemos cambiar la dirección anterior a esta otra.

/android_asset/tipo_test.csv

 

- El archivo csv debe ser menor de 2 MB.

__________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información