Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

AppInventor PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

App Inventor

Dr. José Martín Molina Espinosa


App Inventor: Historia

• Aplicación web que permite la creación de aplicaciones nativas, mediante la


composición visual de la interfaz gráfica y de la programación funcional
mediante un lenguaje visual parecido a Scratch.

• Creada por Google

• Liberada al público en diciembre 2010

• En diciembre de 2011 fue cedida al MIT, quien la ha habilitado nuevamente.

• Desde la liberación al MIT es posible bajar el código libre e instalarlo en un


servidor institucional. Se siguen usando los servicios de Google por lo que es
necesario tener una cuenta de correo en gmail.
Introducción

• Disponible en: www.appinventor.mit.edu

• Es necesario tener una cuenta en google para poder acceder.

• La creación de una aplicación Android se compone en cinco etapas:

• Creación del proyecto,

• Creación de la interfaz gráfica,

• Creación de la funcionalidad mediante la programación de bloques,

• Prueba de la aplicación en emulador

• Prueba de la aplicación en el dispositivo


La interfaz gráfica
• Los componentes que componen una interfaz gráfica se dividen en

• elementos visuales (ejemplo un botón), aparecen en la GUI y

• elementos no visuales (ejemplo, persistencia de datos mediante TinyDB ), no aparecen en la


GUI pero se accede a su funcionalidad

• Los componentes están divididos en las categorías:

• Básicos (Basic)

• Multimedia (Media)

• Animación (Animation)

• Conexiones a redes sociales (Social)

• Sensores del dispositivo (Sensors)

• Disposición en pantalla (Screeen Arrangement)

• Lego Mindstorm

• Otros (Other stuff)

• Elementos de prueba (Not ready for prime time)


Propiedades de
Los elementos de la interfaz gráfica los componentes

Lienzo de trabajo
GUI WYSIWYG

Paleta de
herramientas Jerarquía de
componentes
Programación

• Programación visual mediante el uso de


bloques conectados

• Existen tres tipos de bloques:

• Bloques del sistema (Built-In)

• Bloques definidos por el usuario (My


Blocks)

• Avanzados (Advanced)
Programación basada en eventos
Prueba de aplicación en emulador
Prueba en el dispositivo

• Las aplicaciones creadas a través de AI pueden ser ejecutadas en un dispositivo


Android de las siguientes maneras:

• Empaquetamiento de la aplicación y almacenamiento en la nube mediante un


servicio de AI. Para ello se crea un código QR con la liga de la aplicación la cual es
instalada en el dispositivo. Para la descarga de la aplicación es necesario acceder
con las mismas credencial de gmail usadas durante el desarrollo.

• Empaquetamiento en la computadora. Es posible descargar la aplicación en un


archivo de formato apk, el cual puede transladarse directamente al dispositivo
mediante conexión USB para su instalación. No es necesario autenticarse con las
credenciales de gmail.

• Descarga directa al teléfono. En caso de que se cuente con un driver de conexión


del dispositivo a la computadora, la aplicación se puede descargar directamente
para su ejecución en el dispositivo.
Ejecución y distribución

• Los bloques de programación visual son convertidos al lenguaje Java


mediante el marco de trabajo Kawa

• Una vez que las aplicaciones son empaquetas por App Inventor es posible
someterlas a las tiendas de aplicaciones en Android.

• El archivo apk es el formato requerido en Google Play


Práctica guiada

• Creación de una aplicación que realice el cálculo de índice de masa corporal.

• Creación del proyecto: Calculadora_IMC


Creación de la interfaz gráfica
Programación, validación de datos de entrada
Cálculo de IMC
Programación usando bloques

• La ejecución de los bloques se hace de arriba hacia abajo y de izquierda a


derecha.

• Cada bloque es ejecutado de acuerdo al evento que es lanzado

• Los bloques se conectan verticalmente para definir la secuencia de ejecución

• Los bloques tienen un conexiones horizontales para entradas / salidas

• las conexiones recibidas desde el lado derecho son consideradas como


entradas

• las conexiones en el lado izquierdo son las salidas de la ejecución del


bloque
Elementos de un componente de la GUI
• Cada componente presente en una GUI ya se visible o no, contiene los siguientes elementos

• Propiedades

• Conjunto de atributos o variables dentro de un componente

• texto, altura, ancho, color,...

• Eventos

• Conjunto de métodos que definen el comportamiento del componente

• Click(), GotFoucus(), LostFocus(),..

• Métodos

• Conjuntos de funciones que permiten la manipulación del componente (se anteceden por call)

• envío y recepción de texto, archivos, etc


Laboratorio guiado 2

• Construcción de una aplicación cliente de consumo de datos vía JSON

• Objetivo, recuperar desde un servicio web JSON el valor del tipo de cambio
peso MXN- dólar USD

• Llamada al servicio http://www.google.com/ig/calculator?q=1USD%3D


%3FMXN

• Respuesta:{lhs: "1 U.S. dollar",rhs: "13.9343691 Mexican pesos",error: "",icc:


true}
Interfaz GUI
Programación, obtención de los datos
Programación, desplegar los resultados
Obtención del JSON y parseo

• El método JsonTextDecode elimina las {llaves} y crea una lista con el contenido del JSON

• Se crea una lista de listas

• ((error, ""),(icc, true),(lhs,"1 U.S. dollar"),(rhs, "13.9343691 Mexican pesos"))

• Lista 1: (error, "")

• Lista 2: (icc, true)

• Lista 3: (lhs,"1 U.S. dollar")

• Lista 4: (rhs, "13.9343691 Mexican pesos")


Obtención de la lista 4
Manipulación de la lista 4

• La lista 4 está formada por dos elementos:

• (rhs, "13.9343691 Mexican pesos")

• Obtención del segundo elemento: "13.9343691 Mexican pesos"


Manipulación del elemento

• Se tiene una string con el valor numérico separado por un espacio de la


etiqueta

• split at spaces, genera una lista con dos elementos: (13.9343691, “Mexican
pesos”)
Obtención del valor numérico
Uso del valor numérico

• ((error, ""),(icc, true),(lhs,"1 U.S. dollar"),(rhs, "13.9343691 Mexican pesos"))


Prueba en el emulador

También podría gustarte