|     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
Translate:
Búsqueda en este sitio:


.

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

__________________________________

 

- 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