1. INTRODUCCIÓN 1
2. SU PRIMERA APLICACIÓN CON APP INVENTOR 5
2.1 Acceso al servicio...................................................................................6
2.2 Desarrollo de la aplicación .................................................................11
2.2.1 Diseño de la pantalla ...................................................................12
2.2.2 Edición del código de bloques ....................................................18
2.3 Prueba de la aplicación con MIT AI2 Companion ...........................27
2.4 Instalación de la aplicación en un dispositivo móvil ......................33
3. EL ENTORNO DE DESARROLLO 37
3.1 Barras de herramientas .......................................................................38
3.1.1 Barra de herramientas general ...................................................39
3.1.2 Barra de herramientas de la aplicación .....................................50
3.2 Editores .................................................................................................51
3.2.1 Editor de pantallas .......................................................................54
3.2.2 Editor de bloques..........................................................................59
4. CONFIGURACIÓN DE LA PANTALLA 75
4.1 Alineación de componentes ..............................................................76
4.2 Fondo de pantalla ...............................................................................78
4.3 Tema ......................................................................................................82
4.4 Barra de título ......................................................................................83
4.5 Orientación ..........................................................................................84
4.6 Apariencia de la aplicación en el escritorio .....................................84
5. COMPONENTES DE DISEÑO 87
5.1 Contenedores de disposición horizontal y vertical .........................91
5.2 Contenedores de disposición tabular ............................................. 100
5.3 Práctica. Joystick ............................................................................... 103
6. COMPONENTES DE INTERFAZ DE USUARIO 115
6.1 Propiedades y eventos comunes ..................................................... 116
6.1.1 Propiedades comunes ............................................................... 116
6.1.2 Eventos comunes ...................................................................... 123
6.2 Práctica. Formulario de solicitud de datos personales ................. 124
6.3 Lista de componentes gráficos ........................................................ 126
6.3.1 Etiqueta ...................................................................................... 127
6.3.2 Imagen ........................................................................................ 129
6.3.3 Botón .......................................................................................... 133
6.3.4 Campo de entrada de texto y de contraseñas ........................ 137
6.3.5 Selector de fechas y selector de horas .................................... 142
6.3.6 Selector de lista ......................................................................... 152
6.3.7 Desplegable ................................................................................ 158
6.3.8 Casilla de verificación ............................................................... 160
6.3.9 Notificador ................................................................................. 163
6.3.10 Interruptor ............................................................................... 172
6.3.11 Deslizador ................................................................................ 178
6.3.12 Pantalla ..................................................................................... 182
7. PROGRAMACIÓN BASADA EN BLOQUES 189
7.1 Variables ............................................................................................ 191
7.2 Tipos de datos primitivos ................................................................ 194
7.2.1 Números ..................................................................................... 195
7.2.2 Textos .......................................................................................... 201
7.2.3 Booleanos ................................................................................... 205
7.3 Práctica. Consola de ejecución de código ...................................... 206
7.4 Estructuras de control ...................................................................... 212
7.4.1 Si?entonces?sino ................................................................... 212
7.4.2 Por cada?ejecutar .................................................................... 219
7.4.3 Mientras?ejecutar ................................................................... 227
7.5 Estructuras de datos ......................................................................... 231
7.5.1 Listas ........................................................................................... 231
7.5.2 Diccionarios ............................................................................... 241
7.6 Procedimientos ................................................................................. 254
8. COMPONENTES DE GESTIÓN DE FOTOS, AUDIO Y VÍDEO 261
8.1 Grabación y reproducción de audio ................................................ 263
8.1.1 Práctica. Piano electrónico ....................................................... 268
8.2 Grabación y reproducción de vídeo ................................................ 273
8.2.1 Práctica. Grabación y reproducción personalizada de vídeo ..... 279
8.3 Captura y visualización de fotos ..................................................... 288
8.3.1 Práctica. Personalización del fondo de pantalla
de una aplicación ................................................................................ 290
8.4 Reconocimiento de voz y conversión texto-voz ........................... 294
8.4.1 Práctica. Adivina el número ..................................................... 300
9. COMPONENTES DE DIBUJO Y ANIMACIÓN 309
9.1 Lienzo ................................................................................................. 310
9.1.1 Propiedades ................................................................................ 311
9.1.2 Métodos ...................................................................................... 312
9.1.3 Eventos ....................................................................................... 318
9.2 Prácticas con lienzos ........................................................................ 321
9.2.1 Figuras geométricas .................................................................. 321
9.2.2 Pizarra electrónica ..................................................................... 328
9.3 Sprite .................................................................................................. 334
9.3.1 Propiedades ................................................................................ 334
9.3.2 Métodos ...................................................................................... 336
9.3.3 Eventos ....................................................................................... 339
9.4 Pelota ................................................................................................. 340
9.5 Prácticas con sprites y pelotas ........................................................ 341
9.5.1 Juegos de pelota ......................................................................... 342
9.5.2 Frontón ....................................................................................... 346
9.5.3 Derriba los ladrillos ................................................................... 356
10. COMPONENTES DE MANEJO DE SENSORES 369
10.1 Reloj ................................................................................................. 371
10.2 Prácticas con el reloj ...................................................................... 381
10.2.1 Atrapa el zombi ....................................................................... 381
10.2.2 Billar ......................................................................................... 395
10.3 Acelerómetro .................................................................................. 409
10.4 Prácticas con el acelerómetro ....................................................... 411
10.4.1 Nieva ......................................................................................... 411
10.4.2 Golf ........................................................................................... 416
11. APLICACIONES MULTIPANTALLA 429
11.1 Bloques de control multipantalla ................................................. 429
11.2 Práctica. Derriba los ladrillos II ..................................................... 433
12. COMPONENTES DE ALMACENAMIENTO 447
12.1 TinyDB ............................................................................................. 448
12.2 Práctica. Atrapa el zombi II ........................................................... 450
Si ha mostrado interés en este libro, es probable que sienta curiosidad por saber cómo se desarrollan las aplicaciones que habitualmente maneja en su teléfono Android. También es posible que tenga necesidades específicas que no se terminan de satisfacer e, incluso, que esté pensando en llevar a la práctica una idea original. Gracias a las explicaciones de este libro sobre App Inventor 2, podrá crear sus propias aplicaciones sin miedo al fracaso. App Inventor 2 es una herramienta web gratuita de programación visual para el desarrollo de aplicaciones Android que solo requiere de unos conocimientos básicos de programación. Al ser un entorno web, no es necesario instalar ningún software en su ordenador, ya que solo precisa de un navegador. Además, como App Inventor 2 se trata de un entorno visual (similar a Scratch), las instrucciones de los lenguajes de programación tradicionales se sustituyen por bloques que se conectan entre sí como las piezas de un puzle. A pesar de su aparente sencillez, App Inventor 2 facilita la creación de todo tipo de aplicaciones, en las que podrá hacer uso de: o Componentes de desarrollo de interfaces clásicas como etiquetas, campos de texto, botones, menús, imágenes, etc. o Componentes multimedia que permiten grabar o reproducir audio y vídeo. Incluso, interaccionar con la aplicación utilizando la voz. o Componentes de dibujo y animación que habilitan la creación de sprites (pequeñas imágenes) que se mueven por la pantalla y se relacionan con otros sprites y el propio usuario (imprescindibles en cualquier juego). o Componentes que simplifican el manejo de los sensores del teléfono. Todas estas funcionalidades se explican en el libro de forma progresiva mediante múltiples ejemplos. En ellos realizará diversas aplicaciones prácticas que le ayudarán a consolidar, paso a paso, los conocimientos que vaya adquiriendo. De esta forma, y sin darse cuenta, el desarrollo de aplicaciones Android se convertirá en un juego de niños. Tomás Domínguez es ingeniero de telecomunicación y doctorado en inteligencia artificial. Su labor profesional se ha desarrollado en una multinacional de telecomunicaciones, donde ha ocupado diversos cargos relacionados con la tecnología. Asimismo, ha ejercido como profesor universitario de ingeniería informática en la Universidad Alfonso X el Sabio de Madrid.