# data[].attributes.body
me encantan los penesss yeeee!!!!!

# data[].attributes.attachment_link.title
App Inventor Code Snippets | Pura Vida Apps

# data[].attributes.attachment_link.description
App Inventor apps, tutorials, extensions, news, forums and snippets.

# data[].attributes.headline
pasar nombre y apellidos de una pantalla a otra

# data[].attributes.subject
pasar nombre y apellidos de una pantalla a otra

# data[].attributes.attachment_link.title
App inventor. Pasar datos entre ventanas o pantalla. TinyDB

# data[].attributes.attachment_link.description
IMPORTANTE: App Inventor utiliza el mismo archivo en cada aplicación para la TinyDB, es decir si tenemos varias TinyDB en la misma aplicación, será el mismo archivo donde se guarden los datos, así que si en una TinyDB1 ponemos hola = 1234 y en la TinyDB2 ponemos hola = 9876, el hola cambiará al este último número, ya que es el mismo archivo de base de datos.

# data[].attributes.attachment_link.readable_text
Buenas,

En este apartado vamos a aprender a crear una aplicación con dos "Screen", donde el screen1 mandará un cálculo al "Screen2".

Comenzamos por entrar en " MIT App Inventor" y le damos a "Invent". Hecho esto pulsamos en "New" para crear un nuevo proyecto.

Una vez dentro pasamos a crear lo que sería el entorno gráfico de nuestra aplicación, en este caso vamos a crear una calculadora que nos calcule la recta de dos números.

Para ello vamos a utilizar las siguientes paletas:

Una vez hecho todo esto, pasamos a crear la estructura de la aplicación, donde explicaremos como interactúan las dos "Screen" y sus funciones.

Para empezar vamos a crear una variable donde quedará guardado el resultado de nuestro cálculo. Para ellos nos vamos a "Built-In", "Definition", y sacamos "", la cual renombraremos "vResultado", luego nos vamos a "Built-In", "Math" y sacamos "" y le ponemos como dato "0", donde quedará registrado el resultado del cálculo.

Vamos a "My Blocks" y sacamos el "button1.click " donde introduciremos las funciones que hará el botón al hacerle click.

Dentro introduciremos las funciones, para ello nos vamos a "My Blocks", "My Definitions" y sacamos la variable "set global vResultado " que indicará que la función siguiente se guardará en esta variable. Seguidamente nos vamos a "Built-In", "Math" y sacamos el signo "" (recta). Hecho esto pasamos a introducir los dos campos donde irán los números a calcular, vamos a "My Blocks", e introducimos los dos "".

Por último pasamos a introducir el control que nos mandará el resultado a la "Screen2". Nos vamos a "Built-In", "Control" y sacamos el control "open another screen with start value ", seguido nos vamos a "Built-In", "Text" y sacamos "Text", el cual renombraremos con "Screen2" y lo introduciremos en "screenName". Luego nos vamos a "My Blocks", "My Definitions" y sacamos "global vResultado " que introduciremos en "startValue".

Con todo esto tenemos nuestra "Screen1" configurada y lista.

Pasamos a configurar la "Screen2", donde recogeremos los datos del cálculo y los mostraremos.

Para ello vamos a "My Blocks", "Screen2" y sacamos "Screen2.Initialize ", donde indicaremos que debe hacer cuando inicie. Dentro introduciremos la función que recogerá el resultado al inicio, para ello vamos a "My Blocks", "lbl_resultado" y sacamos "set lbl_resultado.text " y luego le indicaremos que resultado coger, vamos a "Built-In", "Control" y sacamos "call get start value". Con esto ya tendremos el resultado representado en la "Screen2".

Ahora vamos a indicarle al botón como regresar al "Screen1". Para ellos vamos a "My Blocks", "btn_volver" y sacamos "btn_volver.click ", dentro le indicaremos la función a realizar cuando se pulse click. Nos vamos a "Built-In", "Control" y sacamos "call open another screen " y le indicaremos a que "screen" ir, nos vamos a "Built-In", "Text" y sacamos "Text", el cual renombraremos con "Screen1" y lo introduciremos en "screenName".

Hecho todo esto ya tendremos nuestra aplicación lista.

Espero que os sea de utilidad, comenten cualquier duda y opinión.

Saludos.

# data[].attributes.attachment_link.title
Cómo crear una aplicación con dos screen a través de APPinventor

# data[].attributes.attachment_link.description
Buenas, En este apartado vamos a aprender a crear una aplicación con dos "Screen", donde el screen1 mandará un cálculo al "Screen2". Comenzamos por entrar en " MIT App Inventor" y le damos a "Invent". Hecho esto pulsamos en "New" para crear un nuevo proyecto.

# data[].attributes.attachment_link.readable_text
En este curso aprenderás a utilizar App Inventor para crear tus propias aplicaciones, que podrás distribuir fácilmente e incluso subir a la tienda de aplicaciones Play Store.

App Inventor es una herramienta desarrollada por Massachusetts Institute of Technology (MIT) para facilitar el proceso de crear aplicaciones para Android, en comparación con la programación tradicional de aplicaciones Android. Se basa en una interfaz web en la que desarrollaremos la aplicación, mediante programación por bloques, y una Companion App, o aplicación "compañera", en la que se visualizarán en tiempo real las modificaciones que se realicen en la interfaz web y donde podremos ir probando nuestra aplicación a medida que la desarrollemos.

Estos son los contenidos que se verán durante el curso.

Fundamentos de uso y programación en App Inventor

En la primera parte del curso aprenderás como instalar y utilizar App Inventor, además de conocimientos básicos sobre bucles de control, variables y como crear una interfaz de usuario que se adapte a tus necesidades.

Instalando App Inventor, primeros pasos y "¡hola mundo!"

¿Como funciona una aplicación en App Inventor?

Bucles de control, variables y bloques de App Inventor

Creando interfaces de usuario (UI)

Interacciones con la interfaz

En la segunda parte del curso aprenderás a incluir objetos dentro de la pantalla e interactuar con ellos. Además aprenderemos a utilizar los sensores para, después, controlar un printbot mediante los programas que generemos.

Moviendo imágenes con botones

Acciones basadas en el tiempo

Usando los sensores del terminal: Acelerómetro y sensor de orientación

Detectando gestos

Moviendo imágenes con gestos

Reconocimiento de voz

Interactuando con Arduino

En la parte final del curso, aprenderás como comunicar App Inventor con Arduino a través de bluetooth y aplicaremos los conocimientos adquiridos para controlar printbots mediante las aplicaciones que generemos.

Comunicación bluetooth con Arduino

Controlando un printbot con botones en App Inventor

Controlando un printbot con gestos en App Inventor

En este curso no se explicará la programación de las placas Arduino, solo se explicará el código relativo a la parte final del curso. Si quieres conocer más sobre la programación de Arduino puedes seguir el Curso de programación para makers con Arduino y Protocoder donde se explica con mayor detalle.

Puedes encontrar las descargas de este curso en GitHub:

Las lecciones de este curso de publicaran de forma periódica los viernes, comenzando el día 24 de Abril de 2015. Nosotros utilizaremos un bq Aquaris y una placa ZUM BT 328, pero podrás utilizar cualquier teléfono o tablet con Android y cualquier placa Arduino. Si quieres conocer las ventajas de utilizar una placa ZUM BT 328, como por ejemplo, integración de bluetooth, puedes ver las especificaciones de la placa.

# data[].attributes.attachment_link.title
Curso de introducción a MIT App Inventor

# data[].attributes.attachment_link.description
En este curso aprenderás a utilizar App Inventor para crear tus propias aplicaciones, que podrás distribuir fácilmente e incluso subir a la tienda de aplicaciones Play Store. App Inventor es una herramienta desarrollada por Massachusetts Institute of Technology (MIT) para facilitar el proceso de crear aplicaciones para Android, en comparación con la programación tradicional de aplicaciones Android.

# data[].attributes.attachment_link.readable_text
App inventor es un framework creado inicialmente por el MIT (Instituto tecnológico de Massachusetts) siendo adoptado por google, para que cualquier persona con interés pueda crearse su propia aplicación movil, ya sea para su empresa, para su casa o por otros interéses.

Para crear una aplicación con app inventor hay que realizar tres pasos:

El diseño "estetico " de la aplicación , en la que se seleccionan los componentes para su aplicación( botones,cajas de texto,imágenes,etc).

El editor de bloques , donde se escogen los bloques lógico que sean necesarios según la aplicación que tenga pensada de hacer.

Desplegar la app para su prueba en el terminal o en el emulador

Gracias al framework App inventor, se pueden crea app moviles sin conocimientos de programación esplicitos pues este hace la programación móvil sencilla y al alcance de cualquiera.

Casi cualquier tipo de aplicación se puede crear con App Inventor (todo depende de las ganas y empeño que le pongas) por ejemplo p uede crear una app android para su empresa o negocio (App inventor es fenomenal para este tipo de aplicaciones) y cuando este lista ,puede subirla a Google Play como con cualquier otro tipo de programación y ademas obtener ingresos si la pone pago o incluye publicidad usando los principales métodos de monetización como, Admob, leadbolt, mobpartner.
A continuación estos son los principios de la programación del MIT App Inventor que vamos a tratar en este post: 1-Comportamiento de eventos
¿Cómo se programa el comportamiento evento de respuesta de una aplicación?Para aclararlo o se verán los siguientes ejemplos:

¿Cómo convertir un botón rojo cuando un usuario hace clic en él?

¿Cómo hablar cuando el usuario agita el teléfono?

2-Condicional (if)
¿Cómo se programa una aplicación para tomar decisiones?Para aclararlo o se verán los siguientes ejemplos:
3-Incrementar un Valor:
¿Cómo añadir una a algo en la memoria de la computadora? Para aclararlo o se verán los siguientes ejemplos:
4-Dibujo:
¿Cómo dibujar formas e imágenes?Para aclararlo o se verán los siguientes ejemplos:

¿Cómo se crea un lienzo de dibujo?

¿Cómo se dibuja un círculo en 10,10?

¿Cómo se muestra una imagen en el centro del lienzo?

5-Variables :
¿Cuándo se necesita :definir una variable y cómo hacerlo?Para aclararlo o se verán los siguientes ejemplos:
6-Localizacion y Ubicación :
¿Cómo sabes dónde estás?Para aclararlo o se verán los siguientes ejemplos:
7-Procesamiento de la lista (por lotes) :
¿Cómo se hace algo para todos los elementos de una lista?Para aclararlo o se verán los siguientes ejemplos:
8-Lista Transversal (dirigido por el usuario) :
¿Cómo paso a través de una lista basada en eventos iniciados por el usuario?Para aclararlo o se verán los siguientes ejemplos:

¿Cómo crear un pase de diapositivas de modo que el usuario hace clic para ir a la siguiente imagen?

¿Cómo agregar un botón anterior para hacer la presentación de diapositivas ir hacia atrás?

¿Cómo se hace eso por lo que el pase de diapositivas es de nuevo al frente?

9-Agregar elementos a una lista :
¿Cómo se puede grabar información en una lista?Para aclararlo o se verán los siguientes ejemplos:
10-Persistencia :
¿Cómo grabar datos de forma constante?Para aclararlo o se verán los siguientes ejemplos:
11-Actividad temporizado :
¿Cómo se puede repetir una acción, haciendo una pausa entre cada iteración?Para aclararlo o se verán los siguientes ejemplos:

¿Cómo iniciar y detener una actividad programada?Para aclararlo o se verán los siguientes ejemplos:
12-Listas temporizadas :
¿Cómo se procesa cada elemento de una lista, haciendo una pausa en el medio?Para aclararlo o se verán los siguientes ejemplos:
13-Procedimientos :
¿Cómo y por qué debería definir un procedimiento?Para aclararlo o se verán los siguientes ejemplos:

¿Cómo codificar un procedimiento para visualizar una lista?

¿Cómo codificar un procedimiento para visualizar cualquier lista?

¿Cómo codificar un procedimiento para visualizar cualquier lista en cualquier etiqueta?

Cómo se programa el comportamiento evento de respuesta de una aplicación?

Piense en una aplicación como una máquina de respuesta a eventos. El usuario hace clic en un botón, la aplicación responde. Un texto entra, la aplicación envía una respuesta automática. Un platillo volante golpea un asteroide, que explota. Su trabajo como programador es programar dichos eventos-respuestas. En App Inventor, lo hace directamente el código es esencialmente un conjunto de eventos-respuestas, de los bloques cuando-do. Echa un vistazo a las siguientes muestras:

Ejemplo 1. ¿Cómo convertir un botón rojo cuando el usuario hace clic en él?

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

Ejemplo 2¿Cómo se dice "estoy temblando" cuando el usuario agita el teléfono?

Esta aplicación tiene dos componentes, una AccelerometerSensor y una TextToSpeech. Cuando el usuario se sacude el teléfono o la tableta, el AccelerometerSensor detecta el evento y el controlador de eventos cuando AccelerometerSensor1.Shaking se dispara. El componente TextToSpeech está llamada a llevar a cabo la respuesta de hablar las palabras "estoy temblando".

Condicionales: ¿Cómo se programa una aplicación para tomar decisiones?

Con App Inventor, se pueden programar controladores de eventos ( como una aplicación debe responder a algo así como el usuario hace clic en un botó)n. Pero a veces una aplicación no debe responder a un evento al mismo tiempo todos. Aquí es donde si los bloques, conocidos como "condicionales", llegada a tierra permiten la aplicación para tomar decisiones y forman la base de la inteligencia artificial.

Ejemplo 1. ¿Cómo iniciar y pausar un archivo de sonido cuando el usuario hace clic en un botón?

Este comportamiento de la Tengo una aplicación Sueño ilustra la forma fundamental de que una aplicación toma decisiones. Hay un botón con la imagen de Martin Luther King en él. La acción tomada cuando se hace clic en el botón no siempre es el mismo. Si el archivo de sonido (el discurso de Martin Luther King) está jugando, debe ser pausado. Si no está jugando, debe ser iniciado. El bloque if-else se utiliza para ramificar basado en la situación. Se comprueba la propiedad isPlaying del componente Player. Si bien es cierto, detiene la voz. Si es falsa (lo demás), el discurso es (re) inicia.

Ejemplo 2. ¿Cómo se auto-responde a una "WHERE" texto de una persona en particular?

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.

¿Cómo se puede incrementar una propiedad de variable o componente?

Propiedades de los componentes y variables se denominan células de memoria, algo así como las celdas de una hoja de cálculo. Vamos a usar este tipo de células de memoria para hacer cosas como mantener el marcador de un juego o grabar la ubicación de un ImageSprite.

A menudo, es necesario cambiar el valor almacenado en una celda de memoria. Su sencillo pensar en el establecimiento de la puntuación de un juego de 5, o algún otro número fijo, pero ¿cómo se establece la puntuación en relación a su valor actual, por ejemplo, cómo se realiza la programación de manera que la puntuación se convierte en uno más? La siguiente ejemplos demostrarán esta actividad fundamental de incrementar una variable.

Ejemplo 1. ¿Cómo se cuenta el número de veces que un botón se ha hecho clic?

En este juego muy tonto, las puntuaciones de los usuarios un punto haciendo clic en un botón. Cuando el botón etiquetado como "Marca un punto" se hace clic, el ScoreLabel (mostrando 0 arriba) cambia a 1. Si se vuelve a hacer clic, se cambia a 2, y así sucesivamente. Estos son los bloques para este comportamiento:

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".

El bloque verde más claro con la etiqueta "ScoreLabel.Text" es un bloque de "obtener". "Get" quiere decir que ir a buscar en una celda de memoria y ver lo que hay. La primera vez que se hace clic en el botón, el "get" devuelve el valor inital de 0, por lo que 0 +1 = 1 se establece en ScoreLabel.Text (y 1 aparece en la interfaz de usuario). La segunda vez que se hace clic en el botón, el valor actual de ScoreLabel.Text es 1, por lo que 1 +1 = 2 se coloca en ScoreLabel.Text.

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.

Ejemplo 2. ¿Cómo se cuenta-atrás desde 10 y reproducir un sonido a 0.

La fila superior de bloques Con la aplicación de cuenta regresiva, una etiqueta de muestra 10 para comenzar y luego comienza la cuenta atrás, 9,8,7 ... hasta 0. Cuando se llega a 0, se reproduce un sonido. Estos son los bloques: LLa "cuando Clock.Timer" se activa periódicamente. disminuye CountLabel.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.

¿Cómo se dibujan formas e imágenes en un lienzo?

Ejemplo 1. ¿Cómo se crea un lienzo de dibujo?

El componente Canvas es un sub-panel dentro de su aplicación. Las lonas se utilizan para el dibujo y la animación - que su aplicación puede dibujar objetos, y le puede dar al usuario la capacidad de dibujar objetos.

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.

Una ubicación de un objeto en el lienzo se define con una X, Y valor en relación con la esquina superior izquierda del lienzo. X es la ubicación horizontal del objeto, siendo 0 la izquierda de las fronteras y X cada vez más grande como un objeto se mueve a de la derecha. Y es la posición vertical con 0 en el borde superior e Y cada vez más grande como un objeto se mueve hacia abajo.

Ejemplo 2. ¿Cómo se dibuja un círculo en 10,10?

Canvas tiene bloques de función para dibujar un círculo o una línea. El drawCircle tiene tres parámetros,x, y, y el radio. X es la ubicación horizontal, Y es la posición vertical, y r es el radio del círculo que se elaborará. Un valor x de 10 significa que el círculo se encuentra a 10 píxeles a la derecha del borde izquierdo del lienzo. A y-valor de 10 significa que el círculo se encuentra a 10 píxeles hacia abajo desde la parte superior del lienzo

Ejemplo 3. ¿Cómo se dibuja un círculo donde los toques de usuario

El evento Canvas.Touched se activa cuando los toques de usuario (clics) el lienzo. Tiene parámetros x e y que especifican la ubicación del contacto. El touchedSprite parámetro especifica si el contacto se produjo en una ImageSprite - no es importante para este comportamiento. Usted quiere dibujar el círculo en el lugar del contacto, de modo ratón sobre los parámetros x y y, agarrar obtener bloques para ellos, y conectarlos a las ranuras para x una y en el bloque drawCircle. Es un poco confuso porque los parámetros de evento Touched se nombran los mismos que los parámetros (slots) para la función drawCircle.

Ejemplo 4. ¿Cómo se mueve una imagen en el centro del lienzo en App Inventor 2?

¿Cómo saber dónde estás?

El LocationSensor comunica con los satélites GPS y otros mecanismos para determinar la ubicación de su teléfono / tablet.

Ejemplo 1. ¿Cómo se puede mostrar su latitud, longitud y dirección?

Ejemplo 2. ¿Cómo saber lo lejos que se está de un punto dado?

6-¿Cómo se hace algo para todos los elementos de una lista?

Listas de datos se encuentran en muchas de las aplicaciones. Cuando utiliza Facebook, por ejemplo, hay una lista de sus amigos, una lista de sus actualizaciones de estado, etc En su aplicación, usted puede realizar un seguimiento de sus amigos los números de teléfono, una lista de sus cuentas del pasado en un juego, o el número de millas que ejecutó cada día la semana pasada. Con casi cualquier software, es probable que haya listas de datos implicados.

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:

Ejemplo 1. ¿Cómo se envía un texto a una lista de tus amigos?

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.

Ejemplo 2. ¿Cómo añadir una lista de números?

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!).

7-Lista de usuarios de navegación: ¿Cómo paso a través de una lista de la información?

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:

Ejemplo 1. ¿Cómo se crea una presentación de diapositivas de modo que el usuario hace clic para ir a la siguiente imagen?

En este ejemplo, el usuario hace clic en un botón para ordenar a través de una presentación de diapositivas de fotos. Las fotos son en el pic1.jpg archivos multimedia, pic2.jpg y pic2.jpg, todos los cuales han sido cargados en la aplicación. El índice variable se define para realizar un seguimiento de la fotografía actual el usuario está viendo. Cuando el usuario hace clic en "Siguiente", el índice se revisa para ver si el usuario ha ido demasiado lejos. Si el índice es menor que la longitud de la lista (3 en este caso), entonces el índice se incrementa y el siguiente archivo de imagen se coloca en Image1.Picture. Vamos a caminar a través de este ejemplo. Supongamos que pic1.jpg está mostrando para empezar. Cuando el usuario hace clic en "Siguiente", el índice se revisa y es menor que la longitud de la lista (1 <3). Así índice se incrementa desde su valor inicial, 1, a 2, y se selecciona pic2.jpg y se muestra. La próxima vez que el usuario hace clic en "Siguiente", el índice es del 2 por lo que sigue siendo inferior a 3, por lo que el índice se incrementa a 3 y el tercer cuadro, "pic3.jpg", se muestra. Cuando "Next" se hace clic de nuevo, el índice es 3 por lo que el caso de prueba falla. Los bloques dentro del si no se ejecutan, así que no pasa nada. De hecho, el usuario puede seguir haciendo clic en "Siguiente" para siempre sin efecto. Una nota musical necesita tiempo para jugar.

Ejemplo 2. ¿Cómo agregar un botón anterior para hacer la presentación de diapositivas ir hacia atrás?

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.

Ejemplo 3. ¿Cómo se hace eso por lo que el pase de diapositivas es de nuevo al frente?

En este ejemplo, cuando el usuario hace clic en "Siguiente" y el último objeto ya está mostrando, el índice se vuelve a 1 y el primer elemento, "pic1.jpg", se muestra de nuevo. Los bloques de conjunto Image1.Picture están fuera del bloque if-else, por lo que una imagen diferente siempre se muestra cuando "Next" se hace clic.

8-¿Cómo se puede grabar información en una lista?

Ejemplo 1. ¿Cómo se puede grabar notas de entrada por el usuario?

Este comportamiento ilustra los conceptos básicos de una toma de notas o Twitter como aplicación. En primer lugar, define una NoteList variable y inicializarlo al bloque de crear una lista vacía. Esto marca elNoteList variable como una lista de lo que puede poner los elementos en ella. Cuando el usuario entra en una nota en el NoteTextBox y hace clic en "Enviar", agregar elementos a la lista que se llama para añadir la entrada del usuario hasta el final de la lista. NoteList se fija entonces enListLabel.Text para mostrarla al usuario, y la entrada del usuario en NoteTextBox se queda en blanco para prepararlo para la siguiente entrada. Nota: estos datos en esta muestra no es persistente, es decir, las notas introducidas por el usuario sólo se grabarán para la ejecución actual de la aplicación. Si ha detenido la aplicación y volver a abrirla, la lista de notas estaría vacía. Para aprender cómo grabar datos continuamente, consulte estas notas

Ejemplo 2. ¿Cómo se puede grabar los números de teléfono de mensajes SMS entrantes y luego llamar a uno al azar para decirles que han ganado un premio?

Esta aplicación es ideal para los concursos. Usted le pide a su audiencia en un texto que, a continuación, hacer clic en un botón para elegir un ganador y suena el teléfono de los ganadores! En primer lugar, definir un incomingTexts variables e inicializar al bloque de crear una lista vacía. Esto marca la variable como una lista para que pueda poner los artículos en ella. Cuando un texto se presenta en, Texting.MessageReceived se dispara. La aplicación comprueba en primer lugar para asegurarse de que el número no está ya en la lista. Si no lo es, se añade el número de la lista. Cuando esté listo, el usuario puede hacer clic en el botón PickWinnerButton.Click. En este controlador de eventos, elegir un artículo al azar está llamada a tomar un afortunado ganador y un componentePhoneCall se utiliza para llamar al número.

¿Cómo grabar datos de forma constante?

Al ingresar información en su página de Facebook o de otra aplicación, y que la información se guarda por lo que es allí la próxima vez que usted visita, se trata de datos persistentes. Lo contrario - los datos que "muere" cuando se cierra la aplicación - se llama datos transitorios. Los datos persistentes se almacenan en un sistema de base de datos o archivo, y no sólo en la memoria a corto plazo de la aplicación. App Inventor proporciona el componente TinyDB para el almacenamiento de datos en el teléfono o el almacenamiento persistente de la tableta. Echa un vistazo a estos ejemplos del uso de TinyDB para almacenar datos de forma constante:

Ejemplo 1. ¿Cómo se graba un mensaje de forma persistente-de salir para un SMS de texto auto-respuesta?

Ejemplo 2. ¿Cómo se pueden grabar notas introducidas por el usuario?

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

Para estas muestras, los datos se almacenan directamente en el dispositivo por lo que es "local" en el dispositivo y en realidad para un solo usuario (por ejemplo, la toma de notas aplicación es para notas privadas). Cuando los datos está destinado a ser compartido entre múltiples dispositivos y usuarios, se requiere una base de datos de web.

Las muestras sólo proporcionan visualización de la lista rudimentaria - las listas se vierten en una etiqueta y por defecto que aparece en la forma: (item1 elemento2).

¿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:

Ejemplo 1. ¿Cómo se reproduce un sonido cada segundo?

El evento Clock.Timer cuando se activa repetidamente. Piense en ello como un reloj despertador. La propiedad Clock.TimerInterval, determina con qué frecuencia se reproducirá el sonido. Por defecto es 1000 milisegundos (1 segundo), así que si no lo cambia el sonido por encima jugará cada segundo. Puede establecer esta propiedad en el diseñador o con bloques.

Ejemplo 2. ¿Cómo se puede reproducir un sonido cada cinco segundos en lugar de cada segundo? (¿Cómo se mueve una nave espacial facilidad por la pantalla?)

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)

¿Cómo iniciar y detener una animación?

Así como usted puede dar vuelta a un reloj de alarma y se apaga, puede activar el temporizador de la componente de reloj y se apaga. Echa un vistazo a los siguientes ejemplos:

Ejemplo 1. Cuando el usuario hace clic en un botón de inicio, comience a reproducir un sonido cada segundo. Al hacer clic en un botón de parada, pare la reproducción del sonido.

El reloj tiene una propiedad Clock.TimerEnabled. Cuando es verdadera, la alarma del reloj está en lo que el temporizador se activará. Cuando Clock.TimerEnabled se establece en false el cronómetro está inactivo.

Cuando el usuario hace clic en el botón de inicio, TimerEnabled se establece en true para desbloquear la situación. Un segundo más tarde, y cada segundo después, el evento cuando Clock.Timer disparará y el sonido se reproducirá. Cuando el usuario hace clic en "Stop", el temporizador se desactiva y el sonido deja de reproducirse.

Ejemplo 2. Cuando el usuario habla, empezar a mover la nave espacial. Cuando el usuario se sacude el teléfono, detener la nave se mueva.

NOTA :La propiedad Clock.TimerInterval determina la frecuencia desencadena el evento Clock.Timer. De forma predeterminada, el intervalo del temporizador se establece en 1.000 ms, o 1 segundo. Si lo establece en 5000, el evento Clock.Timer activará cada 5 segundos.

¿Cómo y por qué debería definir un procedimiento?

Un procedimiento es una secuencia con nombre de instrucciones (bloques). En la vida real, cuando le digo a mi hijo a "cepillarse los dientes", lo digo en serio para él para llevar a cabo un montón de pasos detallados, como el acaparamiento de su cepillo de dientes, abrir la pasta de dientes, poniéndolo sobre el cepillo de dientes, etc "cepillarse los dientes" es un procedimiento, un nombre para una secuencia de instrucciones. En App Inventor, puede definir un procedimiento, colocar bloques en él, y luego se puede llamar desde cualquier parte de la aplicación.

Considere el código a la derecha. Ambos controladores de eventos tienen código para mostrar una lista. Cuando un usuario envía una nueva entrada (cuando SubmitButton.Click), el elemento se agrega a la lista y la lista se muestra. Cuando se inicia la aplicación (cuando Screen.Initialize), los datos se recuperan de la base de datos en la lista, y se muestra la lista. Los bloques para mostrar una lista son los mismos en los dos controladores de eventos.

Este código está maduro para la refactorización. Refactoring significa modificar el código para que sea más legible y fácil de mantener, desde la perspectiva de un programador - refactorización no cambia el comportamiento de la aplicación en todos.

Extracción de código duplicado es una forma común de refactorizar. La idea básica es que el software cambia mucho: los insectos se encuentran que tienen que ser fijo, especificaciones de cómo el software se debe comportar el cambio, y el código, sobre todo un buen código, a menudo reutilizados. Cuando se realizan cambios en el software, usted no quiere tener que encontrar y también cambiar un montón de "dependencias", por ejemplo, otro código que hace lo mismo. Es mejor tener código que hace una cosa en particular en un lugar, un procedimiento, y llame a ese procedimiento de todos los lugares que más lo necesitan. Entonces, si el procedimiento tiene que ser cambiado, se cambia en un solo lugar.

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?

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.

Fuente aqui

Publicado en EtiquetadoAndroid, App Inventor, bloques logicos app inventor, desarollo apps mit app inventor, ejemplos MIt app inventor, Instituto tecnológico de Massachusetts, lenguajes de programación, MIT, mit app invnetor, programacion rapida en android, Universidad de San Francisco app inventor

# data[].attributes.attachment_link.description
App inventor es un framework creado inicialmente por el MIT (Instituto tecnológico de Massachusetts) siendo adoptado por google, para que cualquier persona con interés pueda crearse su propia aplicación movil, ya sea para su empresa, para su casa o por otros interéses.

# data[].attributes.attachment_link.description
Hola en este video se explica se explica como desarrollar el algoritmo para calcular la media en app inventor por medio de de proceso el calculo se hace a partir de una lista de números que ingresa el usuario. === Enlaces === Proyecto de App Inventor 2 es un archivo .aia.

# data[].attributes.headline
PROGRAMA ACARICIAR GATO Y MOVER UNA BOLA

# data[].attributes.subject
PROGRAMA ACARICIAR GATO Y MOVER UNA BOLA

# data[].attributes.attachment_link.readable_text
Bachillerato

Los materiales desarrollados para la asignatura Informática Aplicada de 4º de E.S.O. son perfectamente utilizables con estudiantes de bachillerato sin requerir apenas modificaciones, aunque habría que tener en cuenta el grado de adquisición de las distintas competencias básicas de este alumnado más mayor y con más años de estudio para adaptar el nivel de los proyectos y ejercicios.

Sin embargo, estudiando los resultados del último informe La Sociedad de la Información en España, que analiza los principales hitos tecnológicos acontecidos en nuestro país y la evolución en la adopción de las nuevas tecnologías por parte de los usuarios, las siguientes cifras resultan muy llamativas:

La penetración de smartphones, con 63,2% de los usuarios de teléfono móvil, es la más alta de la UE5, y sitúa a España como uno de los países con el parque de telefonía móvil más avanzado del mundo.

España es el segundo país del mundo con mayor porcentaje de penetración de teléfonos móviles inteligentes dentro del público juvenil.

Las aplicaciones crecen exponencialmente, un 140% en 2012. Nos hemos "bajado" 2,7 millones de apps al día.

El número de dispositivos móviles con conexión a Internet ha crecido un 68% respecto a 2011 a razón de un millón de altas al mes en el último trimestre.

Así que, con estos datos en la mano y teniendo en cuenta por tanto que gran parte del alumnado de estas edades cuenta con un dispositivo móvil, ya sean smartphones o tabletas, ¿por qué no utilizar un software de creación de apps?

Por consiguiente, en lugar de utilizar Scratch como plataforma de programación se considera una opción muy interesante decantarse por el software MIT App Inventor, que se basa en los mismos fundamentos que Scratch (bloques de código ordenados por categorías) para permitir la creación de aplicaciones para dispositivos móviles.

Esquema de funcionamiento de App Inventor - Fuente: appinventor.mit.edu

Con la ubicuidad que están alcanzando estas tecnologías, el alumnado desarrolla unos niveles de motivación altísimos por crear sus propias apps para compartirlas con sus amistades y familiares.

Pero además, dada la familiaridad con la adquisición de apps para sus propios móviles y siendo conscientes del impresionante crecimiento que presenta el desarrollo de este tipo de aplicaciones, se están introduciendo en el aula de forma natural los valores de la iniciativa personal, la creatividad y el emprendimiento, al envolver las clases con un cierto espíritu Start-up que promueve la investigación y la innovación y que los anima a crear sus propias apps que resuelvan sus problemas cotidianos o que implementen las funcionalidades que siempre habían querido utilizar pero que los fabricantes no habían decidido incorporar, cambiando de nuevo el esquema de consumidor tecnológico pasivo a creador activo e innovador.

En internet es posible acceder a innumerables manuales, tutoriales, ejemplos o vídeos sobre App Inventor, ya que es una aplicación que ha tenido un éxito fulgurante y que se está utilizando en todo el mundo. De hecho, la propia web del proyecto cuenta con una gran cantidad de recursos muy útiles que pueden reutilizarse en el aula:

Nuestros materiales:

# data[].attributes.attachment_link.description
Los materiales desarrollados para la asignatura Informática Aplicada de 4º de E.S.O. son perfectamente utilizables con estudiantes de bachillerato sin requerir apenas modificaciones, aunque habría que tener en cuenta el grado de adquisición de las distintas competencias básicas de este alumnado más

# data[].attributes.attachment_link.readable_text
lets you create Android apps without any knowledge in programming. How cool is that! You design your apps on a web page, assemble pieces of logic blocks together on the same page, test your app on an emulator or on your phone while you are designing; cool, huh? Your projects are hosted by Google. All you have to do is design and join the pieces together like a puzzle game. Check the official Setup section to get started. If you are looking for Tips/Tutorials, go to the Tutorials page.

Now that you are all setup, let's make our first app. We will call it WildLifeShow . The concept is, we will have three buttons on the app. Upon a button click, we will display a corresponding image and fire up a specific sound. Here's a snapshot of the app we are about to make-

If you encounter any problem during development, visit the official Troubleshooting page.

Let's get started. I know you are excited! On your browser, go to Projects. Click the New button to create WildLifeShow app. This will make a new dialog box to open. Enter the name of our app in the Project name box. Press OK.

Now drag a VerticalArrangement component on Screen1 window where we will display our images later. This will create a vertical arrangement component on our Screen1. The name of the component will be automatically VerticalArrangement1. You can change the name by selecting the component under Components pane and then selecting Rename button below the pane.

All the components you drag to Screen1 can be seen under Components pane. We need to change some properties of VerticalArrangement1. Select VerticalArrangement1 under Components pane. On Properties pane you will see the properties of the component you selected. Change VerticalArrangement1's Width to Fill parent and Height to 350 pixels.

Drag an Image component and place it inside VerticalArrangement1 component that we placed earlier on Screen1. Note that the name of Image component is Image1.

Get a Label component and place it below VerticalArrangement1. Take note of the name of our Label component which is automatically set to Label1.

We need to change some properties of the Label component. Select Label1 under Components pane and change some of its properties as stated below-

Check the FontBold property.

In the Text property, type Tap On A Button To Hear Them. You can type anything you like.

Change the TextAlignment to center if not already set by default.

Set TextColor to Blue.

Change the Width to Fill parent.

Now we need a HorizontalArrangement component where we will place our three buttons. Get a HorizontalArrangement component and place it below our Label component. Take note of the name HorizontalArrangement1.

Inside the HorizontalArrangement1, place three Buttons one after another.

Now change the properties of the buttons as follows:

Select Button1 and change its Text property to Elephant, Width to Fill parent, and have FontBold property checked.

Now, select Button2 and change its Text property to Bird, Width to Fill parent, and have FontBold property checked.

Lastly, select Button3 and change its Text property to Penguin, Width to Fill parent, and have FontBold property checked.

This is how a button property should look like-

We also need to play sound. In order to do that, drag a Player component and place it anywhere on Screen1. Since Player is a non-visible component, this will appear underneath Screen1 window.

We need to change some Screen1 properties. First we want our app to be on Portrait mode. Second, it should not be scrollable. And lastly, we need to change the title to WildLifeShow. Select Screen1 and change it accordingly to match the settings in the image below.

Let's get our picture and sound files added. For our app, we used the following image and sound files which you should download to your computer.

Under Media pane, click Upload File... and upload the image and sound files that you saved in your computer one by one.

You should see now the following under your Media pane.

Now that we are done with the design portion of our app, we need to implement the interactions among the components we have. For instance, we want the Elephant picture to be displayed and Elephant sound file to be played once Button1 is clicked. In order to do that, we got to open the Blocks editor window. Click on the Blocks button located on top right of the web page. You will also notice Designer button there. You can switch back and forth between the windows.

On the Blocks editor window, click on the tiny '+' symbol beside Screen1 to expand. Locate Button1 and click on it. Now we can see all the events and different properties of Button1. Select and drag the Button1.Click block to Viewer window as shown below.

Now under Screen1, locate and click Image1. This will show the events and properties of Image1. Get the "set Image1.Picture to" block and place it inside theButton1.click block. Once you place it, you should hear a click sound which means the blocks are properly connected to each other.

We need to set the source of the picture to our image Elephant.png. To do that, click on Built-In tab, then locate and click Text block. Drag the empty text block over to the right and connect it to Image1.Picture block as shown below.

The text block indicates which picture to display. Click on double quoted empty space of the text block and change it to Elephant.png. Careful with the casing. If you have saved the Elephant.png file as elephant.png, then type elephant.png.

Now locate the Player1 and place the Player1.Source block below Image1.Picture block. Connect a text block to Player1.Source block and change the text of textblock to Elephant.wav. After that drag "call Player1.Start" block below it as shown below.

Do the same thing for Button2 and Button3. For Button2, use Bird and for Button3, use Penguin. Your blocks should look like the snapshot below.

You are DONE. Yey! Now it's time to see our app in action. You can run the app you just made in an Emulator to test or in an actual android device if you have. Details instructions on setting up an emulator or a device can be found in the Setup page.

After you have setup to run on an emulator, you can go to Connect and then click on Emulator.

You should see a message stating that it's trying to connect.

After it's done connecting and installing, you will see the app in the emulator.

You just made your first Android app! Click the buttons and enjoy the show.
Download the source and try it for yourself - WildLifeShow

# data[].attributes.attachment_link.description
lets you create Android apps without any knowledge in programming. How cool is that! You design your apps on a web page, assemble pieces of logic blocks together on the same page, test your app on an emulator or on your phone while you are designing; cool, huh?

# data[].attributes.headline
PAGINA DE UN FRIKI: MUCHOS TRUCOS Y CÓDIGOS

# data[].attributes.subject
PAGINA DE UN FRIKI: MUCHOS TRUCOS Y CÓDIGOS

# data[].attributes.attachment_link.description
App Inventor apps, tutorials, extensions, news, forums and snippets.

# data[].attributes.attachment_link.readable_text
Si tienes una idea de aplicación pero no eres programador, App Inventor es tu solución. Con este completo entorno gráfico, podrás desarrollar software para Android de manera muy sencilla.

Si te interesa el mundo de la programación de aplicaciones móviles y buscas una herramienta que te facilite la tarea, App Inventor es para ti. App Inventor es un entorno de desarrollo visual para Android originalmente propuesto por Google y finalmente implementado por el MIT ( Massachusetts Institute of Technology) con el apoyo del gigante americano.

Su gran ventaja frente a otras plataformas similares es la potencia de su entorno de trabajo: encontrarás muchas funciones ya definidas en forma de bloques y la flexibilidad a la hora de combinarlas te permitirá potenciar al máximo tu creatividad.

Su carácter gratuito la hace recomendable para todo tipo de usuarios. Eso sí, si quieres exprimir al máximo todas sus posibilidades, necesitarás un cierto tiempo de adaptación y aprendizaje de la herramienta. Lo ideal es que tengas unas mínimas nociones generales sobre programación para poder diseñar más fácilmente el flujo de acciones y comprender en profundidad la utilidad de cada bloque, aunque no será necesario que modifiques el código fuente.

Aprende en este práctico cómo iniciarte en App Inventor y lánzate al mercado de las apps. Si además requieres más información, te recomendamos que eches mano de los tutoriales que encontrarás en la sección Learn y en Reference Documentation, para conocer en profundidad cada uno de los bloques.

NIVEL:AVANZADO

1. Pon a punto el programa

Visita en primer lugar la web oficial de App Inventor. Necesitarás tener una cuenta Google para acceder al servicio. App Inventor está compuesto por un conjunto de herramientas que abarcan las diferentes tareas en la construcción de la aplicación: diseño, definición del comportamiento y simulación. Antes de pasar a utilizarlas, habrás de comprobar que cuentas con todo lo requerido. Acude a la página oficial y selecciona Setup. Pincha en Test your system y chequea tu navegador.

Es necesario tener instalado Java y los sistemas operativos soportados son Mac OS X 10.5/10.6, Windows XP/Vista/7, Ubuntu 8+ y Debian 5+. Cuando acabes, pincha en Done? Lets move on! y pasarás a la descarga del software de escritorio App Inventor. En el último paso, escoge si deseas probar tus aplicaciones con tu propio teléfono o utilizar el emulador. Este último simulará un dispositivo Android que podrás manejar a través del ordenador como si de un móvil real se tratara.

2. Panel de diseño

El panel de diseño es accesible desde el navegador. En la página principal, pincha en Invent/Create Mobile Apps. En My Projects, selecciona New e introduce un nombre para el nuevo proyecto. Una vez dentro, explora todas sus opciones.

En Palette/Basic, hallarás utilidades básicas como botones, inserción de imágenes, cuadros de texto, etiquetas... La subsección Media contiene componentes como acceso a la cámara de fotos y vídeo, galería de fotografías, sonido, reproductor de vídeo... Social incluye los elementos necesarios para seleccionar contactos, números de teléfono de la agenda, correos electrónicos...

Sensors, por su parte, nos brinda la oportunidad de utilizar sensores para obtener información tal como la localización geográfica o la orientación del dispositivo. Para conocer algún detalle más sobre cada una de ellas, pincha en el símbolo de la interrogación que encontrarás junto a su título.

3. Tu primera pantalla

Pincha en Screen 1 en la sección Components. En la columna de la derecha se listarán sus propiedades. Establece una imagen de fondo cargándola con BackgroundImage. Para que no se distorsione, es conveniente que utilices un fondo plano o alguno de los tamaños por defecto para este tipo de pantallas. Carga también otra imagen en Icon para que sirva de gráfico identificativo de la aplicación y marca en Scrollable si deseas permitir el uso del scroll.

Ahora, añade un botón arrastrando hacia la pantalla el elemento Basic/Button. Selecciónalo en Components y agrega una imagen desde Image. Elimina el texto por defecto Text for Button 1 que aparece en el recuadro Text y escoge una forma en Shape; puedes decidir entre circular, rectangular u oval. Incluyamos también una caja de texto con Basic/TextBox con la leyenda Pincha sobre el icono.

Por último, si quieres redistribuir las formas en la pantalla, juega con las opciones de Screen Arrangement. Crea una tabla con TableArragement o establece la alineación horizontal o vertical de varios elementos con HorizontalArrangement y VerticalArrangement, respectivamente.

4. Elementos no visibles

Se denominan no visibles porque no se muestran físicamente en el panel de diseño, como por ejemplo los archivos de sonido. Prueba a agregar un fichero a través de la opción Source en Media/Sound. El procedimiento para agregar estos elementos es el mismo que para aquellos visibles: arrástralo hacia el visor.

Aparecerán listados en la parte inferior del panel, bajo el epígrafe Non-visible components. Otros elementos similares son Camera, Camcorder o Player, al igual que todos los incluidos en la sección LEGO MINDSTORMS. Esta última incluye componentes, registrados bajo la marca Lego, que te permitirán construir juegos de robótica.

5. Editor de bloques

Antes de continuar introduciendo elementos, vamos a ilustrar el procedimiento para relacionarlos entre sí, utilizando para ello el botón que hemos creado y el fichero de sonido cargado. Pincha en Open the Blocks Editor. Se generará un fichero Java con extensión JNLP que deberás guardar en tu PC. Ábrelo y accederás al editor de bloques. Acude ahora a la pestaña My Blocks y verás la lista de todos los bloques que hayas añadido en el panel de diseño.

Selecciona Button 1 y observa sus opciones, que aparecerán en forma de piezas de puzzle. Hay tipos de piezas que indican acciones y otras para componentes. Tu misión es encajarlas para conseguir el comportamiento deseado. Probemos a establecer que al pinchar sobre nuestro botón se reproduzca nuestro fichero de música. Para ello, une en el editor los bloques Button1.Click con Sound1.Play y listo.

6. Utiliza el emulador

Gracias al emulador, podremos desarrollar nuestras aplicaciones incluso si no contamos con un smartphone o es de otra marca, y chequear su correcto funcionamiento. En el editor de bloques, pincha en New emulator y se desplegará un teléfono Android típico. Para conectar el editor con el teléfono, pincha en Connect to Device y selecciona el emulador. La transferencia de información puede llegar a tardar dos o tres minutos, así que ten paciencia. Después, accede al menú de aplicaciones como si de un dispositivo real se tratara y prueba la tuya.

El procedimiento para utilizar un móvil Android desde el editor es análogo. Conéctalo al ordenador mediante un puerto USB y, antes de iniciar la simulación, comprueba que tu configuración está habilitada para hacer este tipo de uso del teléfono. Para ello, sigue los pasos que encontrarás en la página oficial de la aplicación. Recuerda que por ahora los archivos se encuentran exclusivamente en tu ordenador.

7. Crea una lista

Volvamos al panel de diseño para añadir el elemento ListPicker, que permite la elección entre una serie de opciones. Este está asociado a un botón, con el que invitaremos al usuario a escoger entre la lista. Nosotros haremos la nuestra propia con los números de PC Actual. Después acude al editor de bloques para crear una variable global, en nuestro caso Números, con Built-in/Definition/Variable. Luego, agrega el bloque Make a list, que encontrarás en Built-in/Definition/Lists, para definir varias posibilidades para la variable global.

Finalmente, incluiremos bloques Text con tantas cadenas de texto como valores a tomar. Cuando termines, debes indicar que, cuando se cargue la pantalla inicial Screen1, se inicialice la lista creada. Para ello, une un bloque My Blocks/Screen1/Screen1.Initialize con otro My Blocks/ListPicker1.Elements y este a su vez con nuestra variable global a través de My Blocks/My Definitions/global Numeros.

Cuando el usuario abra la aplicación y pinche en nuestro botón Escoge un número, se mostrarán ante él los números de la revista que hayamos determinado. Para indicar la acción a realizar después, puedes utilizar el bloque My Blocks/ListPicker1.AfterPicking.

8. Empaqueta tu app

Siguiendo procedimientos similares a los explicados, poco a poco, puedes ir añadiendo nuevas funciones. En el panel de diseño, pincha en Add Screen si quieres que tu aplicación contenga más de una pantalla. No olvides guardar periódicamente el trabajo con Save y establecer un punto al que retornar cuando consigas un hito a través de Checkpoint. Cuando consideres que has finalizado la app, busca en la esquina superior derecha el menú Package for Phone.

Encontrarás tres opciones. La primer, Show barcode generará un código QR asociado a tu cuenta y aplicación y para tu uso propio. Para bajarte el programa a tu ordenador, escoge Download to this computer y el código fuente se guardará en forma de archivo APK. Para descargarla en tu teléfono inteligente, opta por Download to Connected Phone y recuerda que necesitarás tener el editor de bloques abierto, así como el dispositivo conectado a tu PC mediante el puerto USB.

9. Publícala en Google Play Store

La publicación de tu aplicación no es un paso obligatorio, pero si optas por abrirla al gran público, debes saber que para publicarla en Google Play Store debe contener tanto un código como un nombre de versión. El primero es un número entero que indica si la app ha sido actualizada a una versión superior o inferior.

El segundo es una cadena de texto que típicamente especifica esta misma información como 1.0, 2.0, etc. Podrás definir ambos en el panel de diseño, en los apartados VersionCode y VersionName, y deberás actualizarlo cada vez que quieras subir una nueva versión a la Red. Después, deberás descargar, como ya te hemos explicado en el paso anterior, el archivo APK en tu ordenador.

Por último, enlaza con Google Play Store en https://play.google.com/apps/publish/signup y sigue las instrucciones para introducir tus datos como desarrollador, cargar el fichero en la plataforma, definir una descripción y establecer un precio. La cuenta de desarrolladores tiene una cuota de registro de 25 dólares. No olvides tampoco consultar la política de comisiones de Google en caso de que tu app no sea gratuita.

App Inventor

Características: Entorno visual para creación deaplicaciones Android

Lo mejor: Su gran variedad de funciones y posibilidades

Lo peor: Dominar todas sus características no resulta sencillo

Valoración: 8,5

Calidad /Precio: 8,5

Precio: Gratuito

# data[].attributes.attachment_link.title
Atrévete a crear tus propias aplicaciones para Android

# data[].attributes.attachment_link.description
Si tienes una idea de aplicación pero no eres programador, App Inventor es tu solución. Con este completo entorno gráfico, podrás desarrollar software para Android de manera muy sencilla. Si te interesa el mundo de la programación de aplicaciones móviles y buscas una herramienta que te facilite la tarea, App Inventor es para ti.

# data[].attributes.attachment_link.description
Descarga aplicaciones hechas con app inventor para seguir aprendiendo o sube las que crees tu mismo.(intercambio de aplicaciones creadas con app inventor).

# data[].attributes.headline
CÓDIGO FUENTE DE ALGUNAS APLICACIONES YA HECHAS

# data[].attributes.subject
CÓDIGO FUENTE DE ALGUNAS APLICACIONES YA HECHAS

# data[].attributes.body
150 videos

# data[].attributes.attachment_link.description
En este vídeo se explica todos los eventos y complementos de la herramienta de App inventor llamado CheckBox. Eventos se refiere a Cheked y a complementos se refiere a background, text, etc.

# data[].attributes.body
Youtube course

# data[].attributes.attachment_link.description
Lo primero que vamos a hacer es ver los pasos necesarios para configurar el equipo que vayamos a utilizar para desarrollar nuestras aplicaciones.

# data[].attributes.body
Primeros pasos en App Inventor. Date de alta.

# data[].attributes.attachment_link.title
Primeros pasos - App Inventor en Español

# data[].attributes.attachment_link.description
Aprende a desarrollar aplicaciones para Android con App Inventor. Manuales y tutoriales de App Inventor en Español.

# data[].attributes.body
APP INVENTOR: YA EN ESPAÑOL

# data[].attributes.attachment_link.title
App Inventor ahora también en Español - App Inventor en Español

# data[].attributes.attachment_link.description
Aprende a desarrollar aplicaciones para Android con App Inventor. Manuales y tutoriales de App Inventor en Español.