Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OK, esto es una aplicación muy tonto, pero no nos llevará a empezar. La
aplicación aparece y hay un botón gris. Cuando los toques de usuario (clics) el
botón, los cambios de color del botón a rojo. El clic del
botón, Button1.Click, es un acontecimiento, algo que le puede pasar a la
aplicación. El oro al bloqueButton1.Click se denomina-controlador de
eventos. Los bloques dentro de él son la respuesta al evento.conjunto significa
cambiar algo, en este caso, cambie BackgroundColor del botón en rojo. Los
bloques, en su conjunto, se especifica que cuando el usuario hace clic en el
botón que debe ponerse en rojo
2-BUCLES
Condicionales: ¿Cómo se programa una aplicación para tomar
decisiones?
Si su hijo o
amigo deja esta
aplicación en ejecución, siempre se puede saber
dónde están enviando una “WHERE” texto a ellos. Este código ilustra una
compleja si-test, uno con una “y” cláusula, ya que debe probar que tanto el
remitente es un número de teléfono particular y el texto enviado fue
“WHERE”. Si ambos son verdaderos, un texto de respuesta automática y se
envía de nuevo al número de teléfono.
3-VARIABLES
¿Cómo se puede incrementar una propiedad de variable o componente?
Los bloques
pueden ser confusas, en un principio, pero la comprensión de ellos es una clave
para entender cómo funciona la computación. En pocas palabras, los bloques
pueden leerse como: “cuando se hace clic en el
botón, cambiar ScoreLabel.Text a su valor anterior + 1
Pero vamos a examinar más de cerca los bloques para que realmente entienda
lo que está pasando. “Set” significa “cambio”, por lo que los medios de bloque,
de color verde oscuro a la izquierda, “cambiar el texto de la ScoreLabel”.
Puede ayudar a darse cuenta de que los bloques son realmente ejecutados de
derecha a izquierda. La aplicación evalúa primero la derecha del lado “+” de
“conseguir” el valor actual en la etiqueta y añadir 1 a la misma. El de la
izquierda es entonces realizado y el resultado de la “+” es “set” en la etiqueta.
bloques: LLa
“cuando Clock.Timer” se activa periódicamente. La fila superior de
bloques disminuyeCountLabel.Text -. El texto se ajusta a sí mismo menos 1
Así que la primera vez que los factores desencadenantes del temporizador, el
texto se ajusta a 10-1 = 9, la segunda vez para 9-1 = 8, y así on.On cada
iteración, la aplicación utiliza un bloque if para comprobar si la cuenta ha
llegado a 0. Si es así, se reproduce el sonido y el temporizador de reloj está
desactivado para detener la actividad.
4-GRAFICOS
¿Cómo se dibujan formas e imágenes en un lienzo?
Por lo general, usted quiere que su lienzo para llenar todo el ancho de la
pantalla de la aplicación, por lo que establecer el ancho para llenar los Padres “,
como en los bloques anteriores. Generalmente usted quiere tener otros
componentes encima o por debajo, por lo que establece el Altura a un número
fijo.
5-POSICIONAMIENTO
¿Cómo saber dónde estás?
App Inventor, como la mayoría de los idiomas, ofrece una manera de procesar
los elementos de una lista, para realizar la misma operación en cada
artículo. Con App Inventor, normalmente se utiliza una para cadabloque en la
lista. Echa un vistazo a los siguientes ejemplos:
La
lista phoneNumberList se define en la parte superior. Tiene datos “concretos”
(por ejemplo, los tres números de teléfono ficticios). La mayoría de
aplicaciones almacenan dinámica, los datos generados por los usuarios, pero
para este ejemplo vamos a centrar en el procesamiento una vez que tenga una
lista.Los bloques dentro de la de cada bloque se repiten para cada elemento de
la lista phoneNumberListdado. En este caso, hay tres elementos, por lo que los
tres bloques interiores se repitieron tres veces.Nueve bloques totales serán
ejecutados (“ejecutado” es el término de la informática para la realización de la
operación que los define en bloque. No se preocupe, nadie está siendo
asesinado!). El texto “que le falta” será enviado a los tres números. La de cada
uno en la lista se llama un “bucle”, porque la aplicación de bucles hasta la parte
superior de la de cada uno después de ejecutar el bloque interior inferior. En la
terminología de ciencias de la computación, decimos las iteraciones de
aplicaciones a través de los artículos.El ítem parámetro definido en la de cada
uno es un marcador de posición y siempre mantiene el elemento actual que se
está procesando. La primera vez en el ciclo es “111-1111”. La segunda vez que
a través de ella es “222-2222”, y la tercera vez que es “333-3333”. Así, todos
los números se envían el mensaje.
La lista de los
números de este ejemplo es fijo, pero en general la lista sería de datos
dinámicas, generadas por los usuarios, por ejemplo, en una aplicación de
entrenamiento el usuario introduciría las millas que corrían cada día y los datos
se almacenan en una lista.El para cada bloque en la lista se utiliza para recorrer
los números. elemento es la variable de marcador de posición – posee el
número actual cada vez que la fila de bloques en el que se ejecuta For cada
uno. El primer elemento tiempo es 7, luego 3, luego 11, luego 5. El total
variable se define para almacenar la suma en ejecución. En la primera
iteración, total se establece en su valor anterior (0) más artículo, que es 7, por
lo que se convierte en 0 7 = 7. En la segunda iteración, el total se establece en
su valor anterior (7), además de elemento, que es 3, por lo que se convierte en
7 +3 = 10. Después de que el tercer total más iteración tiene 21 años y después
de que el cuarto total de iteración es 26 y el foreach completa. Después de la de
cada bucle, se muestra el total en una etiqueta (por lo que alguien va a ver los
frutos del trabajo apps!).
App Inventor proporciona una para cada bloque para procesar una lista de
información de una sola vez. Pero lo que si usted tiene una aplicación, como
una presentación de diapositivas, en la que el usuario controla el movimiento a
través de la lista? Para programar este comportamiento, va a utilizar una
variable índice para realizar un seguimiento de su posición en la lista. Echa un
vistazo a los siguientes ejemplos:
Esta
muestra es similar a la “siguiente” código del botón anterior pero ahora los
índices disminuciones variables y la presentación de diapositivas va hacia
atrás. Los controles si-prueba si el índice es mayor que 1, porque si ya es 1, la
primera imagen se muestra y no podemos ir más atrás.
9-PERSISTENCIA
¿Cómo grabar datos de forma constante?
El usuario
introduce una nota y haga clic en “Enviar”. En SubmitButton.Click, el
elemento se agrega a la NoteList variable y entonces la lista, en su conjunto, se
almacena en la base de datos con las “notas” de la etiqueta. La nueva lista se
muestra en el cuadro de texto ListLabel y se queda en blanco.Cuando la
aplicación se cierra y vuelve a abrir sus puertas, Screen.Initialize se
dispara. TinyDB.GetValuese llama para recuperar la lista previamente
almacenada en la base de datos. El resultado se coloca en la
variable NoteList. Si no hay notas en la base de datos, por ejemplo, la primera
vez que se utiliza la aplicación, a continuación, devuelve el
valor TinyDB.GetValue valueIfTagNotThere, que se especifica como una lista
vacía.
Información relacionada
10-Actividad Programada
¿Cómo repetir una acción, haciendo una pausa
entre cada iteración?
¿Cómo se programa el tiempo? ¿Cómo se programa la animación? Con
muchos lenguajes de programación, conceptos como animación son empujados
hacia atrás en el plan de estudios – que no podría llegar hasta un año o dos de
los cursos. Con el enfoque basado en eventos de App Inventor, se puede
explorar la actividad programada y la animación como un principiante. El
componente de reloj de alto nivel sirve como un despertador, y utiliza su
evento Timer para desencadenar la actividad programada. Echa un vistazo a los
siguientes ejemplos:
X de la
nave espacial de coordenadas define su ubicación horizontal. En cada evento
de temporizador, la coordenada X se incrementa y la nave espacial parece más
a la derecha. Si la propiedadClock.TimerInterval se establece en el valor
predeterminado de 1000 ms, entonces el barco se moverá cada segundo, un
movimiento muy agitado. Normalmente, para este tipo de animación, deberá
definir el intervalo del temporizador a algo así como 40 ms.Pregunta: Una
“imagen en movimiento” es en realidad una secuencia de imágenes
mostradas muy rápido. La velocidad de fotogramas de una imagen en
movimiento es el número de imágenes (frames) se muestra cada
segundo. Si establece el intervalo del temporizador de la nave espacial de
40 m, ¿cuál será la velocidad de fotogramas para su “película”? ¿Cuál es
la velocidad de cuadro típico de una película que se ve en el
teatro? respuesta
Nota: para el movimiento de sprites, puede utilizar el reloj interno del sprite en
lugar de un componente de reloj separada (ver detalles)
11-PROCEDIMIENTOS
En los bloques de la derecha, el código para mostrar una lista aparece en dos
controladores de eventos.Podemos refactorizar definiendo un DisplayList
procedimiento, moviendo los bloques comunes en él, a continuación, llamarlo
desde los dos controladores de eventos:
Ejemplo 1. ¿Cómo se define un procedimiento que
muestra los elementos de una lista?
El código para
mostrar la lista se encuentra ahora en el procedimiento DisplayList, y
ambosSubmitButton.Click y Screen1.Initialize llamar al procedimiento. El
bloqueo de llamadas representa todos los bloques dentro de la definición del
procedimiento. Llamar a un procedimiento significa saltar en los bloques
dentro del procedimiento y ejecutarlas. Una vez que se ejecutan todos los
bloques, el control del programa retrocede al bloque por debajo de la
llamada. Cuando se hace clic en el SubmitButton, agregar elementos a la lista
se llama y luego se hace la llamada a DisplayList. El control del programa salta
al procedimiento donde ListLabel.Text se establece en la cadena vacía y la de
cada bloque se ejecuta.Cuando el de cada uno termina, el control del programa
retrocede hasta debajo de la llamada DisplayListdentro del controlador de
eventos cuando SubmitButton.Click – TextBox1.Text se establece en la cadena
vacía y TinyDB.StoreValue se llama.El comportamiento, desde la perspectiva
del usuario es el mismo, pero el código es mejor desde la perspectiva de un
programador en términos de mantenimiento. Con este código refactorizado, si
se encuentra un error en el código de visualización de la lista, o si se decide la
lista se debe mostrar de una manera diferente (por ejemplo, las comas en entre
elementos en lugar de nuevas líneas), el código sólo tiene que ser cambiado en
un solo lugar.El diseño de su aplicación con los procedimientos del ejemplo
anterior refactors código existente. A medida que se familiarice con los
procedimientos, usted comenzará a incluirlos desde el principio de su
diseño process.You „ll empezar a pensar en términos de una arquitectura de
software más grande que consta de controladores de eventos, los
procedimientos y las llamadas entre ellos. Como usted está diseñando una
aplicación, antes de arrastrar en un solo bloque, usted pensará de los bloques de
construcción – los procedimientos – que usted necesita.
En lugar
de realidad que muestra una lista, el procedimiento hace el trabajo de
conversión de una variable de lista en texto que se puede poner en cualquier
etiqueta. El procedimiento es genérico – que toma cualquier lista y devuelve el
texto, y no se refiere a ninguno de los componentes específicos. Cualquier
código que llama a este procedimiento, por
ejemplo, Screen1.Initialize, proporcionará la lista específica como un
parámetro para listToText, y colocará el texto resultante en una etiqueta
específica.