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
____________________________
51D.- RunJavaScript. Código ASCII. Temporizador. PrettyJson. Lista aleatoria.
p51d_runjavascript.aia
- Mediante el bloque RunJavaScript que se encuentra en el componente VisorWeb podemos ejecutar directamente código de JavaScript.
- Vamos a ver algunos ejemplos:
______________________________
- Obtener el código ASCII de R
AppInventor.setWebViewString('R'.codePointAt(0));
- Obtener el caracter 83
AppInventor.setWebViewString(String.fromCodePoint(83));
- Obtener la hipotenusa mediante el teorema de Pitágoras.
a = 3.47;
b = 4.71;
hypotenuse = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)) ;
AppInventor.setWebViewString("" + hypotenuse);
- Obtener 5 cartas aleatorias.
https://www.programiz.com/javascript/examples/shuffle-card
const suits = ["Spades", "Diamonds", "Club", "Heart"];
const values = [
"Ace",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"Jack",
"Queen",
"King",
];
let deck = [];
for (let i = 0; i < suits.length; i++) {
for (let x = 0; x < values.length; x++) {
let card = { Value: values[x], Suit: suits[i] };
deck.push(card);
}
}
for (let i = deck.length - 1; i > 0; i--) {
let j = Math.floor(Math.random() * i);
let temp = deck[i];
deck[i] = deck[j];
deck[j] = temp;
}
var out = "";
for (let i = 0; i < 5; i++) {
out = out + `${deck[i].Value} of ${deck[i].Suit},`;
};
AppInventor.setWebViewString(out);
- Presentar en Pretty Json, es decir en formato facilmente legible.
https://www.geeksforgeeks.org/how-to-pretty-print-json-string-in-javascript/
var obj = {"prop_1": {"prop_11": "val_11", "prop_12": "val_12" }, "prop_2": "val_2","prop_3": "val_3" };
salida = JSON.stringify(obj, undefined, 4);
AppInventor.setWebViewString(salida);
- Cuenta atrás. Pulsa solo una vez este botón.
https://www.programiz.com/javascript/examples/countdown-timer
// let countDownDate = new Date("Aug 5, 2025 14:22:36").getTime();
//let countDownDate = new Date().getTime() + 24 * 60 * 60 * 1000;
alert("Start.");
let countDownDate = new Date().getTime() + 60 * 1000;
let x = setInterval(function() {
let now = new Date().getTime();
let timeLeft = countDownDate - now;
const days = Math.floor( timeLeft/(1000*60*60*24) );
const hours = Math.floor( (timeLeft/(1000*60*60)) % 24 );
const minutes = Math.floor( (timeLeft/1000/60) % 60 );
var seconds = Math.floor( (timeLeft/1000) % 60 );
if (seconds < 0) {
clearInterval(x);
alert("CountDown Finished.");
};
AppInventor.setWebViewString(seconds);
}, 2000);
- Validar dirección de correo.
https://www.programiz.com/javascript/examples/validate-email
email_id = 'abc123@gmail.com';
const regex_pattern = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (regex_pattern.test(email_id)) {
AppInventor.setWebViewString('The email address is valid');
}
else {
AppInventor.setWebViewString('The email address is not valid');
}
- indexOf
https://www.w3schools.com/jsref/jsref_indexof.asp
https://community.appinventor.mit.edu/t/project-solicitation/25335/163
texto = 'This is text';
out = texto.indexOf('is');
AppInventor.setWebViewString(out);
- Evaluar expresión.
with (Math) {result = eval('log(6) / cos(6) + sqrt(25)');}
AppInventor.setWebViewString("" + result);
- Prompt
var name = prompt("What's your name?"); AppInventor.setWebViewString(name);
______________________________________________
- Diseño.
______________________________________________
- Bloques.
___________________________________________________________
51D2.- RunJavaScript. Día Juliano. Fecha Juliana. Calendario Gregoriano.
p51d2_runjavascript.aia
- Día Juliano es la cantidad de días transcurridos desde el año
4713 a. C. Conversor.
- Fecha Juliana, es la cantidad de días transcurridos desde el 1 de enero del año.
- https://en.wikipedia.org/wiki/Julian_day
- Cálculo de Día Juliano, escribimos el año, el mes y el día.
JDN = (1461 * (Y + 4800 + (M - 14) / 12)) / 4 + (367 * (M - 2 - 12 * ((M - 14)/12))) / 12 - (3 * ((Y + 4900 + (M - 14)/12) / 100)) / 4 + D - 32075;
__________________________________
|