App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando
-- Tutorial de iniciación de App Inventor 2 en español --
Volver al índice del tutorial
____________________________
168.- Evaluar expresión.
p168_javascript_expresiones.aia
- Vamos a realizar el cálculo de expresiones mediante JavaScript.
- Esto trata de los siguente, escribimos en el CampoDeTexto1 una expresión matemática, por ejemplo
log(1.5) / cos(1.5) + sqrt(25)
y nos calcula su valor.
- También podemos poner el valor de x en el CampoDeTexto2 de esta manera:
log(x) / cos(x) + sqrt(25)
x = 1.5
[Las funciones trigonométricas están en radianes y el logaritmo es neperiano]
- Obtendremos un resultado de: 10.731992481309748
- El Código JavaScript que se encuentra en el archivo evaluador_expresiones.htm tomará esa cadena de caracteres, realizará el cálculo y devolverá el resultado.
- Lo devolverá mediante la variable value en el evento WebViewStringChange y saldrá en una Etiqueta.
NOTA IMPORTANTE:
- Cada vez que cambiemos el contenido del archivo .htm que contiene el código JavaScript, debemos Subirlo a la aplicación, además también tenemos que reiniciar la aplicación, para ello vamos al Diseño y cambiamos cualquier cosa, por ejemplo ponemos algo en Negrita o quitamos un Negrita.
- Podemos utilizar las expresiones matemáticas de JavaScript:
https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Math
- IMPORTANTE el uso del paréntesis, en el teclado de los móviles existen dos tipos de paréntesis, el largo y el corto. Debemos utilizar el corto, es decir a veces escribimos:
cos (1.9) y observamos una gran separación del paréntesis.
Hay otro paréntesis que sale sin separación:
cos(1.9)
ese es el que debemos poner. Observa la imagen de la derecha. |
|
_________________
- Diseño.
- Ponemos un VisorWeb, en el Diseño lo ponemos No Visible, ya que solo lo utilizamos para ejecutar el código JavaScript, pero no es necesario mostrar nada en él.
- El CampoDeTexto2 con la Propiedad: "Solo números".
- Subimos el archivo evaluador_expresiones.htm
- Archivo evaluador_expresiones.htm
evaluador_expresiones.htm |
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head><body>
<script>
datos = window.AppInventor.getWebViewString() ; // Entrada de datos.
with (Math) { resultado = eval(datos); }
window.AppInventor.setWebViewString("" + resultado); // La respuesta al Bloque CadenaDeWebView
</script>
</body></html>
|
_________________
- Bloques.
- Mientras estamos probando en el emulador, ponemos:
file:///mnt/sdcard/AppInventor/assets/evaluador_expresiones.htm
- Cuando lo vayamos a Generar para crear el instalador, ponemos;
file:///android_asset/evaluador_expresiones.htm
_________________
- Comentarios.
- Esta orden de JavaScript toma una cadena de caracteres y la evalua como expresión matemática: with (Math) { resultado = eval(datos); }
- En esta línea:
window.AppInventor.setWebViewString("" + resultado); // La respuesta se envía directamente al Bloque CadenaDeWebView
- Prueba la diferencia de poner:
window.AppInventor.setWebViewString(resultado); // La respuesta se envía directamente al Bloque CadenaDeWebView
__________________________________
|