Académique Documents
Professionnel Documents
Culture Documents
Tabla de contenidos
componente Screen de App Inventor
La Pantalla (Screen) en App Inventor
La pantalla (Screen) de App Inventor es el único elemento de nuestro proyecto que viene automáticamente en el
programa que crearemos.
Propiedades:
BackgroundColor
Color de fondo de la pantalla.
BackgroundImage
Una imagen que se forma el fondo de la pantalla.
Height
Altura de la pantalla (y tamaño).
Icon
Una imagen que se utilizará como icono para la aplicación instalada en el teléfono. Debe ser un PNG o JPG
Advertencia: Si esta imagen no es PNG o JPG, con otros formatos puede fallar en el empaquetado de la aplicación.
Scrollable
Esto es establecido por una casilla en el diseñador. Cuando se activa, habrá una barra de desplazamiento vertical
puede sobrepasar la altura física del dispositivo. Cuando no se controla, la altura de aplicación se limita a la altura.
Title
Título de la pantalla (texto). Esto aparecerá en la parte superior izquierda del teléfono cuando se ejecuta. Se puede
modificar mientras se usa la aplicación.
Width
Anchura de pantalla (x-size).
Eventos:
Initialize()
Se produce al iniciar la aplicación. Se puede utilizar establecimiento de los valores inicial y realizar otras operaciones
de ErrorOccurred(component component, text functionName, number errorNumber, text message)
Señalado cuando se produce un error. El evento ErrorOccurred se utiliza actualmente para un pequeño conjunto de
Errores que se producen en el NXT de LEGO Mindstorms
■ * componentes
■ Errores que se producen en los componentes de Bluetooth
■ Errores que se producen en el componente de Twitter
■ Errores que se producen en el componente de SoundRecorder
■ ActivityStarter - cuando startActivity se llama, pero no hay ninguna actividad que corresponde a las propiedades ■
LocationSensor - cuando LatitudeFromAddress LongitudeFromAddress o no
■ Jugador - al establecer la propiedad Source no
■ Sonido - al establecer la propiedad Source falla o cuando la función de reproducción no
■ VideoPlayer - al establecer la propiedad de origen no
Para los errores, el sistema le mostrará una notificación por defecto, con un número de error y un mensaje.
prescribir un comportamiento diferente a error por defecto, por las pruebas ErrorNumber y adoptar las
Propiedades
BackgroundColor
Hay eventos para saber cuando y donde un lienzo ha sido tocado o un Sprite ( ImageSprite o bola ) se ha
arrastrado. También hay métodos para dibujar puntos, líneas y círculos.
Propiedades
BackgroundColor
LineWidth
Si el componente es visible
Ancho
Eventos
Arrastrado (número startx, StartY número, número prevx, prevY número, número CurrentX,
CurrentY número, draggedSprite booleana)
Cuando el usuario hace un arrastre de un punto (prevx, prevY) a otro (x, y). El par (startx, StartY) indica
que el primer usuario toca la pantalla, y "draggedSprite" indica si un duende se está arrastrando.
Tocado (número x, y número, touchedSprite booleana)
Cuando el usuario toca un lienzo, proporcionando la posición (x, y) de tacto en relación a la esquina
superior izquierda del lienzo. El valor "touchedSprite" es verdadero si un sprite también estaba en esta
posición.
Métodos
Clear ()
Dibuja un círculo (llenado) en las coordenadas dadas en el lienzo, con el radio dado.
DrawLine (número x1, y1 número, número de x2, número y2)
El componente CheckBox de App Inventor nos sirve para seleccionar opciones, habilitar o deshabilitar, etc...
El componente CheckBox puede detectar que el usuario lo ha marcado la casilla y puede cambiar su estado en
respuesta booleana.
Un componente CheckBox provoca un evento cuando el usuario lo toca. Muchas de propiedades que afectan a su
aspecto se pueden establecer en el Diseñador o el Editor de bloques.
Propiedades
BackgroundColor
Checked
Enabled
Si está activado, el usuario puede pulsar la casilla de verificación para cusar una acción.
Height
Altura de la casilla.
Width
Ancho de la casilla.
Text
TextColor
Visible
Eventos
Click()
GotFocus()
LostFocus()
El Reloj es uno de los componentes mas importantes en la programación y por lo tanto uno de los que mas
utilizarás, por lo tanto tendrás que aprender bien como utilizarlo en App Inventor.
Se puede utilizar un componente del reloj para crear un contador de tiempo que señala los acontecimientos a
intervalos regulares. El componente de reloj también hace varias conversiones y manipulaciones con unidades de
tiempo.
El formato interno usado por el reloj se llama instante. Un instante es un paquete de datos de tiempo diversos, que
contiene, entre otros datos, los milisegundos que han pasado desde el inicio de 1970 en el calendario Gregoriano, la
zona horaria, el día del año, el día de la semana, el día del mes, el periodo AM o PM, la hora del día, el minuto de la
hora, el segundo del minuto, o el milisegundo del segundo.
Uno de los usos de la componente de reloj es el de temporizador: permite configurar un intervalo de tiempo al final de
cada uno de los cuales se disparará el evento de temporizador.
Un segundo uso del componente de reloj es el de manipular el tiempo, y expresar el tiempo en varias unidades. . El
método Now devuelve el momento actual como un instante. El reloj proporciona diversos métodos para manipular
instantes, por ejemplo, devolver el instante correspondiente a varios segundos, meses o años desde un instante
dado. También proporciona métodos para mostrar el día, hora, minuto y segundo, ..., de un instante dado.
Propiedades
TimerInterval
TimerEnabled
TimerAlwaysFires
Si es cierto, se activa el temporizador, incluso cuando la aplicación no aparece en pantalla. En caso contrario,
cuando la aplicación no está en pantalla no se producen los disparos del temporizador.
Eventos
Timer()
Métodos
SystemTime()
Tiempo interno del teléfono, en milisegundos. Proporciona los milisegundos desde la base de tiempo, que es
el 1 de enero de 1970.
Now()
MakeInstant(fecha)
MakeInstantFromMillis(ms)
GetMillis(instante)
Obtener los milisegundos del instante indicado. Proporciona los milisegundos desde la base de tiempo, que
es el inicio de 1970.
Second(instante)
El segundo del instante dado. Si es el instante de ahora (now) nos indica el segundo actual.
Minute(instante)
El minuto del instante dado. Si es el instante de ahora (now) nos indica el minuto actual.
Hour(instante)
La hora del instante dado. Si es el instante de ahora (now) nos indica la hora actual.
DayOfMonth(instante)
El día del instante dado, de 1 a 31. Si es el instante de ahora (now) nos indica el día de hoy.
Weekday(instante)
El día de la semana, como un número del 1 (domingo) al 7 (sábado), del instante dado. Si es el instante de
ahora (now) nos indica el día de hoy.
WeekdayName(instante)
El nombre del día de la semana del instante dado. Si es el instante de ahora (now) nos indica el día de hoy.
Month(instante)
El mes del instante dado, del 1 al 12. Si es el instante de ahora (now) nos indica el mes actual.
MonthName(instante)
El nombre del mes del instante dado. Si es el instante de ahora (now) nos indica el mes actual.
Year(instante)
El año del instante dado. Si es el instante de ahora (now) nos indica el año actual.
FormatDateTime(instante)
Devuelve la fecha y la hora del instante dado en el formato del teléfono. En España como dd/mm/aaaa
hh:mm:ss
FormatDate(instante)
Devuelve la fecha del instante dado en el formato de fecha del teléfono. En España como dd/mm/aaaa.
FormatTime(instante)
Un simple ejemplo de como poner una imagen en el componente imagen de Appinventor pulsando un botón, y
como poner una imagen en un botón al iniciar la pantalla.
Se usa el componente de imagen para representar imágenes que los usuarios seleccionan y manipulan.
Un componente de la imagen muestra una imagen. Se puede especificar la imagen para mostrar y otros aspectos de
la apariencia de la imagen en el diseñador o en el Editor de bloques.
Propiedades
Picture
Visible
Height
Altura de la imagen.
Width
Ancho de la imagen.
FontBold
FontSize
FontTypeface
Height
Width
Text
TextAlignment
TextColor
Visible
Este tutorial sirve para ilustrar el uso del componente Slider (control deslizante o regulador) y el manejo del color en
App Inventor. La App que construiremos es un selector de color. Los sliders (reguladores) nos permitirán establecer
la proporción de cada uno de los colores primarios que componen el color.
Entorno de usuario.
La App utiliza la pieza "make color" para construir el color de fondo de un canvas. La aplicación también devuelve el
número del color en el esquema de color de App Inventor. El bloque "make color" toma como argumento una lista
de tres o cuatro items numéricos. Estos números representan los valores de un código RGB. La codificación RGB se
utiliza en Internet y en otros lenguajes de programación. El color se compone mediante una mezcla de colores
primarios (Rojo, Verde y Azul), para indicar la proporción de cada uno de ellos empleamos un número que va de 0 a
255. El cuarto ítem es opcional y representa la saturación del color, su valor por defecto es 100.
Internamente, App Inventor guarda cada color como un número. La pieza "make color" toma como argumento una
lista de tres valores, entre 0 y 255, que internamente convierte a un número empleando para ello el esquema de
color de App Inventor. Si conocieses el número asignado a cada color podrías utilizarlo para establecer la propiedad
color. Si quieres ver algunos ejemplos mira esta tabla de colores.
El control deslizante o regulador (Slider).
Un slider es una barra que incorpora un control deslizante. Dicho control puede ser arrastrado por el usuario a
izquierda o derecha para establecer su posición. A medida que el regulador se mueve, se dispara el evento "when
Slider.PositionChanged do" informando de la posición del mismo mediante la propiedad "Slider.ThumbPosition".
Empleamos este evento en nuestra aplicación para cambiar dinámicamente algunas propiedades de los
componentes que intervienen en la aplicación.
Este componente nos permite además establecer los valores de algunas de sus propiedades. En nuestro caso,
establecemos una escala para el regulador que va de 0 (MinValue) a 255 (MaxValue) y cambiamos dinámicamente el
color de la parte izquierda de la barra (ColorLeft) a medida que el usuario mueve el regulador. El color de la parte
derecha de la barra permanece en su valor por defecto.
Componente slider
El comportamiento de la App.
Cuando se inicia la aplicación establecemos el color de fondo del canvas mediante la pieza "make color". Como
podéis observar empleamos las posiciones iniciales de los reguladora de cada uno de los slider (establecidas a 48 en
la herramienta de diseño). También definimos el color de la parte izquierda de cada unos de ellos y el texto de las
etiquetas de cada unos de los colores.
En la etiqueta color, además, establecemos el color del texto con el color de fondo del canvas. El número que se
muestra es el que emplea internamente App Inventor en su esquema de color.
A medida que el usuario mueve el regulador de un slider (los bloques de la imagen se correponden con el deslizador
rojo), se construye dinámicamente el color de fondo del canvas con la nueva mezcla de colores primarios, se cambia
el color de la parte izquierda del regulador, se imprime en la etiqueta correspondiente la nueva cantidad de rojo
(que es el valor ThumbPosition del slider), y se actualiza la etiqueta color con los nuevos valores.
Los bloques correspondientes a los eventos PositionChanged de los sliders verde y azul son equivalentes a los
descritos para el color rojo.
Los usuarios pueden tocar un componente de lista de selección para elegir un elemento de una lista de cadenas de
texto.
El usuario pulsa un componente ListPicker para seleccionar un elemento de una lista de cadenas de texto. Cuando
un usuario pulsa un selector de lista, se muestra una lista de elementos de texto para que el usuario pueda elegir.
Los elementos de texto se puede especificar a través Designer o el Editor de bloques mediante el establecimiento de
la propiedad ElementsFromString con lista de elementos separados por comas (opción 1, opción 2, opción 3 ) o
mediante el establecimiento de la propiedad Elements a una lista en el Editor de bloques.
Otras propiedades, incluyendo TextAlignment y BackgroundColor , afectan a la apariencia del botón y si puede ser
utlizado ( habilitado ).
Cuando un usuario toca el botón selector, se muestra una lista de elementos de texto para que el usuario pueda
elegir. Los elementos de texto se puede especificar a través del diseñador o el Editor de bloques mediante el
establecimiento de la propiedad ElementsFromString mediante la concatenación de los valores separados por
comas (por ejemplo, selección1, selección2, selección3 ) o mediante el establecimiento de la
propiedad Elements de una List (Lista) en el editor de bloques.
Otras propiedades, incluyendo TextAlignment y BackgroundColor , afectan a la apariencia del botón y si puede
ser desplegado ( Enabled ).
Propiedades
Selection
Items
ElementsFromString
Aparentemente, idéntica a la anterior. Lista separada por comas de elementos para mostrar cuando se
despliegue la lista.
BackgroundColor
FontBold
FontItalic
FontSize
FontTypeface
Height
Text
TextAlignment
TextColor
Visible
Eventos
AfterPicking()
BeforePicking()
GotFocus()
LostFocus()
Bien, vamos a aprender a crear una lista en este nuevo componente agregado por el MIT, a AppInventor 2.
Antes ya teníamos el Componente ListPIcker, pero este nos aparecía en una ventana aparte, ahora listview
podemos utilizarlo en la misma pantalla en la que estemos trabajando.
Creamos una variable para crear la lista. Pero en vez de crear una lista lo vamos a hacer separando
cada elemento por comas.
Cojemos el bloque Screen initialize, para que justo al iniciar nos cargue la lista. Y en este bloque
agregamos la lista, cogiendo el bloque de listview "elementsfromstring" y un texto que será el que
nosotros queramos. en este caso he puesto nombres. también se puede empezar desde cero.
Ahora lo que haremos es que cuando se pulse el boton agregue lo que ya hay en la lista, mas una
coma, y el texto escrito en el textbox.
Para que al seleccionar algun componente de la lista haga algo, pondremos el bloque afterpicking del
listview y dentro lo que queremos que haga. En este caso nos cambiará el texto del label.
componente PasswordTextbox de App Inventor
Los usuarios introducen las contraseñas en un componente de cuadro de texto para contraseña, que oculta el texto
que se ha escrito en él.
Un cuadro de texto para contraseña es el mismo que el componente TextBox ordinario, excepto en que no muestra
los caracteres tecleados por el usuario.
Se puede obtener o establecer el valor del texto en la caja con la propiedad Text. Si Text está en blanco, puede
utilizar la propiedad Hint para proporcionar al usuario una sugerencia de lo que puede escribir. La Hint aparece
como texto débil en el cuadro.
El componente de cuadro de texto para contraseña se utiliza generalmente con un componente de botón. El usuario
pulsa el botón después de la introducción de texto.
Propiedades
BackgroundColor
Enabled
FontBold
FontItalic
FontSize
FontTypeface
Height
Width
Ancho de la caja.
TextAlignment
TextColor
Hint
Eventos
GotFocus()
El valor del texto inicial o el que el usuario haya introducido en un componente de cuadro de texto está en la
propiedad Text. Si Text está en blanco, puede utilizar la propiedad Hint para proporcionar al usuario una
sugerencia de lo que escribir. La sugerencia aparece como texto débil en el cuadro.
La propiedadl MultiLine determina si el texto puede tener más de una línea. Para una caja de una única línea de
texto, el teclado se cerrará automáticamente cuando el usuario presiona la tecla Listo. Para cerrar el teclado para
cuadros de texto de varias líneas, la aplicación debe utilizar el método HideKeyboard o confiar en que el usuario
pulse la tecla Atrás.
La propiedad NumbersOnly restringe al teclado numérico, de modo que sólo puedan introducirse números.
Otras propiedades afectan a la apariencia del cuadro de texto ( TextAlignment , BackgroundColor , etc) y si se
puede utilizar ( Enabled ).
Los cuadros de texto se suelen utilizar con el componente Button , para que el usuario haga clic en el botón cuando
se haya completado la entrada del texto.
Propiedades
BackgroundColor
El color de fondo de la caja de entrada. Usted puede elegir un color por su nombre en el Diseñador o en el
Editor de bloques. El color de fondo por defecto es 'default' (aspecto 3-D sombreado).
Enabled
Cuando se selecciona, el usuario puede introducir texto en el cuadro de entrada. De forma predeterminada,
está seleccionado.
Si se selecciona, la fuente para el texto aparece en negrita. Por defecto, no está seleccionado.
Height
Hint
Si la propiedad Text está vacía, mostrará una sugerencia sobre lo que el usuario debe ingresar.
MultiLine
Si es verdad, entonces este cuadro de texto acepta varias líneas de entrada, que se introducen con la tecla
de retorno. Para una caja de una única línea de texto, el teclado se cerrará automáticamente cuando el
usuario presiona la tecla Listo. Para cerrar el teclado para cuadros de texto de varias líneas, la aplicación
debe utilizar el método HideKeyboard o confiar en que el usuario pulse la tecla Atrás.
NumbersOnly
Si es verdad, entonces se despliega exclusivamente el teclado numérico, por lo que el usuario sólo podra
entrar números, que pueden incluir un punto decimal y un signo menos opcional. Esto se aplica a la entrada
del teclado solamente. Incluso si NumbersOnly es cierto, se puede utilizar [SetTextAt] para introducir
cualquier texto.
Text
El texto en el cuadro de entrada, que se puede establecer por el programador en el diseñador o el Editor de
bloques, o puede ser introducido por el usuario.
El texto puede ser justificado a la izquierda, centrado o justificado a la derecha. De forma predeterminada, el
texto se justifica a la izquierda.
TextColor
El color para el texto. Usted puede elegir un color por su nombre en el Diseñador o en el Editor de bloques. El
color de texto predeterminado es negro.
Visible
Width
Eventos
GotFocus()
LostFocus()
Este evento se dispara cuando el cuadro pierde el foco, por ejemplo, si el usuario toca un cuadro de texto
diferente.
Métodos
HideKeyboard()
Almacenar el valor en la etiqueta dada.La etiqueta debe ser una cadena de texto, el valor puede ser
una cadena o una lista.
GetValue (etiqueta de texto)
Obtiene el valor que se almacena en la etiqueta dada.Si no hay ningún valor se almacena, se devuelve
el texto vacío.
Para limpiar la base de datos para una aplicación, vaya en el teléfono bajo Configuración → Aplicaciones →
Administrar aplicaciones, la selección de la aplicación y pulse "Borrar datos".
Los datos de TinyDB es persistente sólo cuando se han empaquetado y la descarga de su aplicación.Si está
desarrollando conectado al teléfono, y reiniciar la aplicación AppInventor, o si se desconecta y volver a conectar
el teléfono, la base de datos será empezar de nuevo.Este es un caso donde la aplicación no es más que ser
detenido y reiniciado, sino que se está eliminando el teléfono y luego vuelve a cargar.