Contactos

MIT APP Inventor: todos pueden crear una aplicación móvil. App Inventor - Miércoles de Aplicación de Android Miércoles Descargar Education App Inventor In Russian

Inventor - Miércoles del desarrollo visual de aplicaciones de Android, que requieren el conocimiento mínimo de programación del usuario. Diseñado originalmente en Google Labs, después de que el cierre de este laboratorio se transfirió al Instituto Tecnológico de Massachusetts. Al principio marzo de 2011. El Instituto Massachusetts ha lanzado una versión beta pública del proyecto disponible en el sitio web App.InVentor.mit.edu.

Funciona este entorno de desarrollo directamente del navegador. Descarga e instala nada. El resultado se puede ver en el dispositivo Android. Las aplicaciones terminadas se pueden colocar en el mercado de juegos.

August 2015 App Inventor 2 Soporta idioma ruso.

En el Editor en línea, las solicitudes del Inventor 2, se basan en componentes estándar que son el elemento principal del desarrollo de las aplicaciones de Android.
Blocks App Inventor. Conceptos y principios importantes

Los bloques de inventores de aplicaciones son instrumentos para componentes operativos y parecen rompecabezas.

Los bloques en este diseñador de aplicaciones de Android se dividen en dos grupos grandes sobre la base de los cuales afectan y en qué están relacionados con:

  • relacionado directamente con los componentes
  • aplicado a la aplicación en su conjunto.

Vamos a empezar por S. bloques que pertenecen a los componentes. Se pueden dividir en tres tipos que son fáciles de distinguir entre:

1. Bloques que describen las propiedades del componente. Son verdes y se ven así:

esta unidad denota la propiedad actual de componentes. En esta imagen, la estructura de color de fondo se muestra para el componente de texto de TextBox1. Implica la recepción del significado existente.

y esto establece el valor deseado del componente (asigna el color de fondo de TextBox1 ...). "Set" - Conjunto. Este tipo de propiedades de bloques podría atribuirse a los comandantes (manejadores), ya que realmente le da al comando para cambiar cualquier propiedad de componente, incluidos los campos de los campos. Sin embargo, los desarrolladores de la aplicación Inventor decidieron, sin embargo, también también son propiedades.

2. Los bloques de eventos, es decir, aquellos bloques que rastrean la aparición de cualquier evento en la aplicación, por ejemplo, presionando el botón y luego ejecute el comando Block. Están pintados en color de bronce y se ven así:

esta unidad, por ejemplo, realiza una acción presionando el botón (cuando está en Button3, haga clic para hacer ...)

3. Bloque-comando, en la aplicación Inventor Esta unidad a menudo se llama el controlador. Esta unidad indica que debe hacer con el componente al que pertenece el bloque:

Específicamente, este bloque causa datos del temporizador del dispositivo.

Segundo grupo de bloques, relacionado con todos, Organizado un poco diferente.

Para empezar, aquí están sus subgrupos de lista:

  • Bloques lógicos. - bloques lógicos
  • Bloques de matemáticas. - Bloques matemáticos.
  • Bloques de texto. - bloques de texto
  • Listas bloques. - Bloques para administrar listas.
  • Bloques de colores. - Bloques para la gestión de color.
  • Bloques de variables. - Bloques para gestionar las variables.
  • Bloques de procedimientos. - Bloques de procedimientos.

Todos ellos, con la excepción de los bloques de procedimientos, están incrustados en otros bloques. Es decir, no pueden servir como el bloque original, a diferencia de los eventos que pertenecen a los componentes, todas las acciones se realizan en cualquier evento con componentes.

Aquí vale la pena contar los tipos de "rompecabezas". Entonces, probablemente notas que hay cuatro rompecabezas de especies.

Es obvio de su forma que cualquier cadena en la aplicación móvil comienza primero. Este es un evento y es bastante lógico que inicie todas las acciones adicionales. Y este tipo no difiere de las aplicaciones adoptadas en este diseñador para Android.

Y aquí están los siguientes dos tipos de bloques que utilizan la tipología de la aplicación Inventor, consulte diferentes tipos: propiedades y equipos (manejadores), respectivamente. Pero en forma de un rompecabezas y, en significado, podrían atribuirse a los equipos, ya que establecieron la acción. Digamos segundo Rompecabezas rompecabezas da el comando a asignar un cierto valor al componente, pero el tercero Rompecabezas - Llame a un componente con un cierto valor. Además, estos rompecabezas son "intermedios", no se pueden completar con una cadena.

Y aquí cuatro El formulario representa el valor final que existe o calcula y las cadenas terminan.. Por ejemplo, la cuarta imagen es el valor actual del componente del reloj.

La compañía ITICHER anuncia un concurso de desarrollo de aplicaciones móviles para el sistema operativo Android, creado en el lenguaje de programación de aplicaciones de aplicaciones.

Términos de la competencia
  • Recepción y registro de obras competitivas: del 1 de enero al 15 de mayo de 2017.
  • Consideración de las obras del jurado competitivo: del 15 al 30 de mayo de 2017.
  • Anuncio de los resultados de la competencia el 30 de mayo en el portal del concurso.

Bajo la operación, entenderemos la secuencia de acciones, cada una de las cuales puede contener un número diferente de bloques.

Cualquier operación se puede colocar en la unidad de procesamiento de eventos o en la unidad de procedimiento. La ubicación de la operación en la unidad de procesamiento de eventos se caracteriza por simples, pero en el futuro, esto puede llevar a muchos problemas, en contraste con usarlo en el procedimiento, que obtendrá un algoritmo flexible. Considere esto en el ejemplo de una simple operación de asignación de la variable de la lista vacía global que consiste en dos bloques (Fig. 1).

Higo. 1. Opciones de operación.

Al colocar una operación en la unidad de procesamiento del evento del componente (versión superior), se está unida rígidamente y se vuelve inaccesible para llamar desde otros bloques. Si esta operación debe llamarse desde otro bloque, entonces tendrá que ser copiado. Crear copias de la operación es indeseable, porque cuando cambia su algoritmo, tendrá que ingresar a cada uno de ellos. Esto aumenta la probabilidad de errores diferentes: puede olvidarse de solucionar algún tipo de copia, cometer un error al copiar bloques, insertarlos, etc. La colocación de la operación en la unidad de procedimiento le permitirá llamarlo desde otros bloques y evitar los errores descritos anteriormente.

Cuando trabaje en el Editor de bloques, a veces es necesario llamar a diferentes versiones de una operación o operaciones diferentes. Para hacer esto, puede crear nuevos componentes con nuevas unidades de manejo de eventos, o usar un BTEINYCUTE BLOCK existente colocando una llamada a esta o esa operación. Como resultado de la sustitución, las operaciones desconectadas se convertirán en bloques "flotantes" (Fig. 2), que no pertenecen a ningún bloque de grupo.

Higo. 2. Bloques "flotantes".

Si hay muchos bloques flotantes en el campo de trabajo, es posible que no sea fácil lidiar con ellos. Si todo está claro con el bloque inferior, este es un bloque de llamar a un procedimiento, ¿qué hace las unidades de bloques en la parte superior de la imagen? ¿Es esta una operación o acción separada que entra o se incluyó en alguna otra operación? Pero, ¿dónde está el resto de esta operación? Agregar una operación a la unidad de procedimiento le permitirá deshacerse de los bloques "flotantes" incomprensibles.

Para ejecutar el bloque, no es necesario colocarlo en el controlador de eventos. Puede hacer clic con el botón derecho en él y en el menú contextual que aparece, seleccione la opción Hacerlo.

Otra desventaja de la operación en el manejador de eventos está relacionada con el hecho de que cuando elimina accidentalmente un componente en el diseñador, no solo todos los bloques que se relacionan con este componente, sino que también se eliminan todos los bloques invertidos en ellos. Especialmente molesto será en el caso de que la operación consistiera en una gran cantidad de bloques (Fig. 3). Si elimina el componente BTNTEST, entonces el bloque BTNTEST.Flick se eliminará con todos sus contenidos.

Higo. 3. Bloqueo no deseado de bloques en un manejador de eventos.

¿Qué operación realiza bloques en esta imagen? Es difícil responder de inmediato. Y al colocarlos en un procedimiento separado, todo será comprensible de inmediato desde su nombre Setvarvalue: establece el valor de la variable (Fig. 4).

Higo. 4. Agrupación de lados en el procedimiento.

Los bloques de procedimientos y las variables locales tienen una configuración disponible al hacer clic en el icono de engranaje. Para los bloques de procedimientos, consiste en agregar los parámetros de entrada y para los bloques de las variables locales a la creación de entradas adicionales. Esto permitirá que cuatro variables bloquean se convierta en un bloque con cuatro variables (Fig. 4). ¿Es un equivalente de tanta conversión? No. Un bloque con varias variables locales tiene un alcance que no permite dentro de él obtener los valores de sus variables. Por ejemplo, la variable de valor es imposible (Fig. 4) para asignar el valor de la variable de la tecla.

Enumeramos las desventajas de la operación en la unidad de procesamiento de eventos:

  • Enlace duro al bloque de eventos de un cierto tipo de componente seleccionado
  • Es imposible llamar a la operación de otros bloques (significa que no puede convertirse en biblioteca)
  • Extracción de la operación al retirar el componente
  • La formación de grupos de bloques "flotantes" incomprensibles.
  • Es difícil entender rápidamente lo que hace la operación.

Deshazte de todos estos inconvenientes es muy simple si todas las operaciones se colocan en el procedimiento.

Al crear algoritmos por simplicidad y velocidad, desea que diferentes operaciones se pongan en un procedimiento, lo que conducirá a un rápido aumento en el número de bloques y dificultades con la comprensión de su trabajo. Para excluir esto, una regla simple es ampliamente utilizada en la programación:

Una función (procedimiento) - una operación

Esta regla se toma de la práctica de la vida. Imagine que enciende la luz de la habitación y, al mismo tiempo, el televisor está encendido, aire acondicionado y apagando la computadora. ¿Te gusta? No, porque conducirá a la confusión y las situaciones desagradables.
En la Fig. 4 Al comienzo del bloque, existe un desafío de cuatro procedimientos: GetHey (obtenga la llave), GetNewval (obtenga un nuevo valor), GetTheys (obtenga una lista de claves) y GetIndex. Cada uno de estos procedimientos realiza una operación. Después de ellos, el bloque de IF está funcionando, en el que se ejecuta una operación de procedimiento Setvarvalue1.
¿Es posible utilizar global en los procedimientos en lugar de las variables locales? Puedes, pero no lo hagas. El uso de variables globales dentro del procedimiento, en primer lugar, se le une a ellos y, en consecuencia, a esta solicitud, y, en segundo lugar, con la ayuda de las variables globales, los bloques externos de diferentes aplicaciones pueden influir en el mecanismo interno del procedimiento, que Es bastante indeseable. ¿Qué puede suceder si los pasajeros del autobús tienen acceso a su mecanismo?

Las variables locales son un tipo de tampón. Si el nombre de la variable global cambia, esto no romperá el trabajo del procedimiento, ya que los nombres de las variables locales se utilizan dentro de ella, que no han cambiado. En la aplicación Inventor al cambiar el nombre de la variable global, cambiará automáticamente en todos los bloques usándolo. Desde aquí, una conclusión importante que existe en la AUTO AUTOR AUTOMATIZA para verificar la exactitud de los tipos de variables, cambiar de nombre de variables y, por un lado, simplifica el desarrollo de aplicaciones, liberando al desarrollador de pensar sobre estos problemas y, en el Otra mano, promueve la habilidad de desarrollo de la compilación negligente de los algoritmos. En general, esta habilidad puede desarrollarse al programar en cualquier idioma. ¿Cómo evitar esto? Utilice las recomendaciones para crear un "código limpio", que está escrito muchos libros. El inventor de la aplicación MIT podrá usar solo una pequeña parte de estas recomendaciones, pero seguirlas mejorará los algoritmos y su legibilidad con cualquier forma de crearlos, en una hoja de papel, placa, al editar código o trabajar con bloques.

La regla anterior debe utilizarse y en el caso de usar unidades de procesamiento de eventos. En la Fig. 4 Haga clic en Handler de eventos Produce solo una operación: causa el procedimiento. ¿Y si necesita llamar a varios procedimientos del manejador de eventos? Entonces, ¿debe comprender, este grupo de procedimientos realiza una o más operaciones? Si uno, entonces todo está en orden. Por ejemplo, en la inicialización de la solicitud, se llaman muchos procedimientos, pero todos ellos se combinan con una operación: inicialización.

Cuantas más operaciones realice el procedimiento, más estrechamente su conexión con este proyecto es, y lo más difícil es adaptarlo para trabajar en otra aplicación. Idealmente, el procedimiento de propósito general es deseable hacer una independiente de esta solicitud para que sea posible colocarlo en su biblioteca para su reutilización en otras aplicaciones.

Como repositorio de los procedimientos de la biblioteca en la aplicación Inventor, puede usar las pantallas de aplicación apropiadas. Las bibliotecas con un pequeño número de procedimientos se pueden colocar juntos en una pantalla, y grandes en individuo. En este último caso, el movimiento de todos los bloques de biblioteca en la mochila se puede realizar utilizando una operación.

Si las bibliotecas se han acumulado mucho, puede organizarlas como una plantilla de solicitud en la que la primera pantalla esté vacía. Utilizamos esta plantilla al crear una nueva aplicación, y después de su preparación, cree una copia desde la cual se eliminen todas las pantallas de la biblioteca.

Para eliminar el cambio de nombre de variables globales y violar el trabajo de los procedimientos de la biblioteca al copiarlos de una mochila a una pantalla de aplicación que puede tener variables globales con los mismos nombres, los nombres de los bloques de biblioteca se necesitan de antemano con los prefijos que indican la biblioteca. Si la biblioteca para trabajar con una lista de parejas se llama Libpairs. Luego, puede variables, procedimientos y componentes en él, así que: libpairs_name, libpairs_setvalue, libpairs_btnexecute.

Para una operación más conveniente con una gran cantidad de bloques y moverlos a través del campo de trabajo, además de los botones de escalado en la ventana, es útil escalar el área de trabajo del navegador utilizando la combinación de teclas CTRL-o CTRL +.

Hoy en día, en el mercado laboral, estamos viendo un auge real sobre especialistas en el desarrollo de aplicaciones de aplicaciones para dispositivos móviles. La profesión del desarrollador de aplicaciones móviles se convierte en uno de los más buscados. ¿Pero es el sistema educativo listo para responder a este desafío? Después de todo, para diagnosticar la capacidad de programar y poner una base sólida de conocimiento y habilidades a tiempo, debe comenzar desde la edad escolar primitiva.

Hasta hace poco, el problema de aprender la programación de escolares de clase media parecía intratable, principalmente debido a la falta de una herramienta, que, por un lado, sería suficiente fácil de aprender, y por el otro, permitiría crear realmente de pie. productos. Los intentos de capacitar a los escolares por Bajoica o Pascal, solo llevaron al hecho de que el objeto informático era solo un círculo muy estrecho de estudiantes, aquellos que, debido a las características intelectuales, la educación familiar o la suerte de emergencia con el maestro, logró avanzar en el desarrollo. de programación más allá de otros. Para la mayoría de los otros escolares, la informática siguió siendo inaccesible.

La situación comenzó a cambiar a principios de la década de 2000, con la aparición y el desarrollo de los lenguajes de programación visual, cuyo buque insignia se considera el lenguaje de cero. Este idioma hizo una verdadera revolución en la programación de enseñanza escolar para el sistema operativo de escritorio. La programación en cero es tan fácil como doblar el mosaico de los niños. Los operadores y procedimientos de lenguaje son bloques de colores. Arrastrándolos y conectándolos, creamos un programa. Es simplemente imposible cometer un error en la sintaxis de este idioma, si los bloques no están parados junto a, el rompecabezas simplemente no funciona.

Inventor

El desarrollo natural de este enfoque fue el lenguaje de programación de la aplicación Inventor, desarrollado por el Profesor Massachusetts Institute of Technology (MIT) Halome Abelson en 2010. Se basa en el mismo principio de arrastrar los ladrillos visuales y recoger el programa de bloques.

La diferencia entre la aplicación Inventor desde Scratch es que la aplicación Inventor no está orientada al uso de escritorio, pero está destinado a crear aplicaciones para un dispositivo móvil: un teléfono inteligente o una tableta con sistema operativo Android. Él sabe cómo, por ejemplo, "entender" los datos de acelerómetro de datos del gadget móvil, controlan la cámara incorporada, ve cómo se orienta el teléfono en el espacio y mucho más.

La aplicación Inventor es una aplicación completamente nublada. Para comenzar a programarlo, solo necesita Internet y el navegador. La transición a la página de idioma se realiza en este enlace. Interfaz en inglés y ruso.

La interfaz de lenguaje de programación del inventor de la aplicación MIT consta de dos partes principales. diseñador y editor Blokov.

EN diseñador Construyamos nuestra aplicación de elementos: pantallas, botones, celdas, imágenes, sonidos.

EN editor Blokov Programamos el comportamiento de estos elementos.

La interfaz de la aplicación Inventor es simple e intuitiva. Si desea intentar enseñar programación en la aplicación Inventor en la escuela, le recomendamos la aplicación web Enterpriment.RU, que recopiló materiales de capacitación para los maestros.

Concurso para escolares

Y los escolares que se llevarán a cabo en la programación de programación en la aplicación Inventor en la escuela o pueden participar en la competencia para desarrollar sus propias aplicaciones móviles en la aplicación Inventor. El ganador de la competencia recibirá una tableta de Samsung. La fecha límite para la presentación del trabajo, hasta el 15 de mayo de 2016.

Estación meteorológica en MIT App Inventor 2 - Aplicación de la estación meteorológica para teléfonos Android creada con servicio en línea.

El anuncio de la estación meteorológica se describe en el artículo donde hemos realizado una revisión de la estación meteorológica, creó el mochilero para Arduino y el dispositivo de la estación meteorológica. Bueno, hoy entenderemos con más detalle cómo crear una aplicación Android y mostrar todos los datos obtenidos de nuestra estación meteorológica en el teléfono.

Para crear una aplicación de la estación meteorológica en MIT App Inventor 2, necesitará:

1. La imagen de fondo del tamaño de 540x960 píxeles (el tamaño de la imagen de fondo depende del tamaño de la pantalla de su dispositivo)

2. Icono de aplicación para la pantalla principal 128x128 píxeles (en formato PNG32)

3. Iconos de botones en la aplicación en dos colores, el tamaño de 80x80 píxeles.

Cuando hemos preparado todas las imágenes necesarias para la aplicación, puede comenzar a trabajar en MIT App Inventor 2. Para empezar, requeriremos dichos componentes:

  • ListPicker1: Para iniciar la conexión Bluetooth, seleccione los dispositivos Bluetooth disponibles y el modo de visualización de estado de conexión
  • Label3 - Copia de seguridad, para mostrar información adicional (temporalmente no funciona, no puede agregar)
  • Label1 - Para mostrar los datos recibidos de Arduino.
  • Label2 - Para mostrar la inscripción (temperatura en la habitación, la temperatura en la calle, presión, etc.)
  • Horizontalarrangement1 - Modo de alineación de elementos horizontalmente, en nuestros casos de modos de conmutación)
  • Botón1 - Botón para encender el modo "Temperatura al aire libre"
  • Botón2 - Encendido de la temperatura en el modo de habitación
  • BOTON3 - Botón para encender el modo "Presión en mm.rt.st."
  • BOTON4 - Modo de inclusión del botón "Humedad en%"
  • Button5 - Botón de desconexión (invisible)
  • Clock1 - Temporizador
  • BluetoothClient1 - Componente para trabajar con Bluetooth (Recepción y envío de datos)

Ahora vamos a bloquear el modo de programación en la aplicación MIT Inventor 2 para comenzar a proponer funcionalidad para ListPicker

entonces para el temporizador

para recibir datos a través de Bluetooth

para botones 1-4

para el botón de apagado

Después de que todas las etapas del desarrollo pasen, probamos la aplicación en el teléfono y revise el rendimiento.

Puede ampliar la funcionalidad incorporada de la aplicación Inventor utilizando tecnología web y extensiones. En la red, puede encontrar extensiones de pago y gratuitas (aproximadamente 200 sobre Puravidaapps.com), pero surgen preguntas, y lo difícil que es crear su propio, ¿qué pueden dar y si debe pasar tiempo en esto o mejorar algo más?

Todos los componentes y bloques disponibles en la aplicación Inventor pertenecen al incorporado (interno) y la expansión a lo externo.

Las características incorporadas proporcionan una funcionalidad interesante para los usuarios novatos, satisfactoria para experimentar e insuficientes para programadores. Al mismo tiempo, la mayoría de los usuarios preferirán cargar extensiones listas y no desarrollarlas. A partir de esto, sigue una conclusión simple de que el desarrollo de extensiones puede ser interesante, principalmente usuarios experimentados y entusiastas. Los principiantes organizarán completamente las capacidades incorporadas y las extensiones existentes, y los programadores participarán en las extensiones no están interesados \u200b\u200ben la razón de la necesidad de realizar un trabajo dual. ¿Por qué perder el tiempo en la creación y depuración de la expansión de la funcionalidad limitada, y luego usándola para crear una aplicación de funcionalidad limitada, si puede escribir inmediatamente código en Java, usando todas las funciones disponibles de Android Studio IDE y API de Android?

Crear extensiones para AI es fácil si hay algún tipo de experiencia de programación y comprender los cimientos de la OOP, pero a las razones anteriores, las unidades están seriamente comprometidas. Crear extensiones funcionales es poco prácticas, pero escribir adiciones simples para ampliar la funcionalidad incorporada o crear una nueva puede parecer interesante y útil en términos de práctica. Pero aquí necesitas decidir sobre el enfoque. Puede seguir el concepto de programación visual, o para expandir sus elementos de programación de texto.

Si dices bruscamente, la aplicación Inventor es similar a Iceberg, la parte superior de la cual es visible para los usuarios en forma de funcionalidad incorporada, y en el agua también no está disponible mucho. Esto se hace específicamente de acuerdo con el propósito de este IDE, que requieren usuarios de un conocimiento mínimo de programación. El modelo de trabajo en la aplicación Inventor no está diseñado inicialmente para una mayor funcionalidad. Agregar nuevas propiedades causará un aumento en el número de bloques en la progresión geométrica. Por ejemplo, agregar la propiedad de transparencia conducirá a la aparición de dos bloques para cada widget (para instalar y devolver el valor). Si tales widgets 5, el número de bloques aumentará en 10. Se agregaron 10 propiedades, 100 bloques recibidos en la salida. Además, las nuevas propiedades en el diseñador aparecerán a esto. En estas condiciones, el enfoque "Expansión simple de IDE +" se ve razonable, pero no para aquellos que prefieren la buena funcionalidad "de la caja" sin la necesidad de buscar e instalar adiciones.

Las propiedades de configuración individuales de los objetos y la tarea de los bloques duros de bloques en la fase de desarrollo de aplicaciones, por un lado, simplifican el desarrollo y evitan una gran cantidad de errores, pero conduce a aplicaciones estáticas. Si se adjunta otro bloque a un bloque, esto es para siempre. Cambie la propiedad o seleccione otro objeto en la etapa de ejecución, solo es posible si esta función se colocó inicialmente en la fase de desarrollo. Para hacer esto, use acceso indirecto a los objetos. Por ejemplo, puede crear una lista de pares "Nombre de objeto - Objeto" para todos los objetos, y luego usarlo en funciones para acceder a diferentes objetos. En este caso, la unidad receptora no se asociará con un objeto específico, sino con una lista desde la que debe obtener en su nombre de clave.

Si lo anterior agrega complejidad con la implementación de las operaciones del grupo, la falta de widgets, métodos y otros matices de la funcionalidad incorporada es clara, la razón de la aparición de Appybuilder, Thunkable, Makeroid y otros, en los que el aumento en La funcionalidad se implementa debido a la cantidad de componentes se entenderá. Más componentes - más bloques. Pero con la ayuda de la expansión, es posible aumentar la funcionalidad de manera cualitativa, por ejemplo, usar un bloque para acceder a docenas de docenas de propiedades de los objetos. Esto ya es realmente interesante porque complementa la programación visual de elementos textuales textuales para compensar una serie de deficiencias de la funcionalidad AI incorporada.

¿Podrán las extensiones crear extensiones que estén débilmente familiarizadas con la programación? Sí, simple podrá usar el enfoque de "Copiar y cambiar", pero aún se requiere cierta preparación. Sin él, será incomprensible por qué la extensión no está compilada y lo que se escribe en la pantalla. También se debe decir que una parte de la expansión que trabaja con objetos Android se prefiere crear y depurar en el estudio Android.

El desarrollo de extensiones se adaptará a aquellos a quienes, en principio, se adapta al inventor de la aplicación, pero me gustaría complementar algo, mejorar y simplificar, y al mismo tiempo practicando Java. Si este es su caso, comenzaremos con la implementación del entorno de desarrollo.

Vkontakte tiene un grupo Extensiones para la aplicación Inventor Cuando el formulario de video y texto proporciona una guía paso a paso para crear y configurar el entorno de trabajo, así como un ejemplo simple que devuelve la prueba de la palabra. Duplicar este material no tiene sentido, pero el ejemplo del ejemplo considerará como una introducción rápida al tema.

paquete Vlad; Importar com.google.appinventor.comPonents.Runtime. *; Importar com.google.appinventor.components.annotations.designerComponent; Importar com.google.appinventor.components.annotations.designerproperty; Importar com.google.appinventor.components.annotations.propertyCategory; Importar com.google.appinventor.components.annotations.simpleEvent; Importar com.google.appinventor.components.annotations.simpleFunction; Importar com.google.appinventor.components.annotations.simpleobject; Importar com.google.appinventor.components.annotations.simpleProperty; Importar com.google.appinventor.components.common.comPonentCategoría; Importar com.google.appinventor.cponents.common.propertyTyPeConstants; Importar com.google.appinventor.components.common.yaversion; Importar com.google.appinventor.components.runtime.util.sdklevel; @DesignerComponent (Version \u003d YAVERSION.NOTIFIER_COMPONENT_VERSION, Categoría \u003d componenteCategory.extension, Descripción \u003d "Esta es una extensión de prueba", no Visible \u003d True, IconName \u003d "Images / Iconifier.png") @simpleObject (externo \u003d true) Public Final Class TestExtension Extiende AndroidNonVisiblecomponent implementa complementosContainer (super (súper (contenedor. $ Formulario ());) @simpleFunction (descripción \u003d "Esta función devuelve la prueba" Test \\ "String") Prueba de cadena pública () (RETRANTE "PRUEBA")))

El código de extensión incluye un código de clase Java y anotación, comenzando con el símbolo @. Las anotaciones se utilizan para indicar que el bloqueo de código debajo de ellos debe ser procesado por un compilador simple. Un compilador simple escanea anotaciones e integra una extensión en la aplicación El Wednesday App Inventor: crea una función de bloque (función o propiedades), el campo Editar en el diseñador y realiza otro trabajo.

@DesignerComponent indica los parámetros generales del componente y lo que se refiere a la categoría de extensiones y no es univocal (actualmente puede crear solo componentes de extensión no válidos)

@SimpleObject puntos a un componente, y el campo externo \u003d verdadero es que el componente es externo

@SimpleFunction indica la función del compilador para la cual necesita crear un bloque. Si la función devuelve un valor, aparecerá el escape a su izquierda. Si la función tiene parámetros, las excavaciones correspondientes estarán en el lado derecho.

Los códigos fuente de clases se pueden ver en los directores correspondientes a los nombres de los paquetes:

com / Google / AppinVentor / Componentes / Tiempo de ejecución - Clases de construcción.
Com / google / appinventor / componentes / anotaciones - Clases anotaciones
Com / Google / AppinVentor / Componentes / Común - Clases de uso general
Com / Google / AppinVentor / Componentes / Runtime / UTIL - Clases Utilidades

Actualmente, utilizando la extensión, puede crear solo un componente invisible. Si necesita crear un componente visual, arrastre al campo de trabajo del diseñador, así como los widgets diseñados, luego tomará su propia copia local de la aplicación Inventor.

Intenta cambiar la inscripción, compilar, instalar y ejecutar el bloque. Si todo sucede, el entorno de trabajo está configurado y puede continuar para crear cosas más prácticas e interesantes.



¿Te gustó el artículo? Compártelo