|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 WAMP - PHP - MySQL
  Estación meteorológica Cosas de Windows Webs interesantes Arduino
   AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Translate:
Búsqueda en este sitio:


Nuevo concurso para España, Argentina, Brasil, Chile, Colombia, Ecuador, México, Perú y Portugal.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial

____________________________

120.- Extensiones. Extensions.

- Inicio:

- En los próximos meses MIT proporcionará a App inventor 2 de "Extensiones". Vamos a adelantarnos un poco a los acontecimientos.

- Una extensión es como una librería, un código que hace algo y que podemos insertar en nuestra aplicación.

- Una extensión es un código que un programador que sepa programar en JAVA realiza de manera que crea un nuevo componente que podemos insertar y utilizar en nuestro App inventor 2.

- Una extensión es un nuevo componente creado por un programador que tenga conocimientos de JAVA y de código fuente de App inventor, ese componente tendrá sus bloques y podremos utilizarlo como los demás componentes de App inventor 2. Por ahora los componentes son invisibles en la ventana, es decir no se ven, más adelante la MIT eliminará esta restricción. Los archivos de extensiones terminan en .aix

-------------------------------------------------------------------------------

La MIT está experimentando la manera de incorporar extensiones a App inventor. Nos permite con ejemplos probar cómo va a funcionar las extensiones.

- Entramos en la web:

http://appinventor.mit.edu/extensions/

- Pulsamos el botón verde: Try App inventor Extensions >>

- Aceptamos las condiciones y entraremos en una página parecida a la de App inventor.

- Importante: para hacer las pruebas en el móvil, debemos cargar ésta otra versión del MIT Companion, la podemos cargar mediante el código QR que se encuentra en la opción de
Ayuda / Companion Information.

- Cuando terminemos de trabajar con este App inventor 2 de extensiones y volvamos a nuestro App inventor 2 normal, deberemos volver a instalar en MIT Companion de éste.

- Para hacer las pruebas es conveniente poner el App inventor en inglés.

- Los proyectos que hagamos en este App inventor de extensiones experimentales, no debemos cargarlos en el App inventor 2 normal. Es decir, podemos tomar una aplicación .aia del App inventor 2 normal y cargarlo en este App inventor de extensiones experimentales. Modificarlo, añadirle extensiones, probarlo. Pero luego no podremos volver a cargarlo en el App inventor 2 normal.

- Cargamos la extensión pulsando en Import extension. Cuando la cargemos nos pedirá que le asignemos un nombre, dejamos el que trae por defecto.

________________________
Extensiones de ejemplos

Puedes obtenerlas en la web original en inglés: http://appinventor.mit.edu/extensions/

Name Description Author Download .aix File Source Code
VectorArithmetic Se introducen dos vectores cada uno con dos números separados por coma 10,20 y 40,50. Obtendremos la suma 50,90. Ethan Hon VectorArithmetic.aix Source.zip
ImageProcessor Combina dos imágenes, se puede graduar la ponderación de una sobre la otra mediante "Weight". Pone una imagen en blanco y negro. Aquí una demo (han quitado el enlace pero puedes verlo abajo en esta página). Justus Raju ImageProcessor.aix Source.zip
SoundAnalysis

Es un componente multimedia que analiza el tono de un sonido proveniente del micrófono, devuelve un número según el tono. Se puede utilizar como entrada para controlar algún componente por ejemplo al silvar (tono >500Hz) se realizar una acción, al aplaudir (tono >2000Hz) se realiza otra acción.

Mouhamadou Oumar Sall SoundAnalysis.aix Source.zip
ScaleDetector

Se pone una bola y mediante dos dedos podemos hacer que está tenga un tamaño mayor o menor. Aquí una demo Using App Inventor extensions to implement multitouch

Hal Abelson ScaleDetector.aix Source.zip

________________________
- Vamos a editarlas.

p120_extensiones.aia   >> Aquí están: VectorArithmetic, ImageProcessor y SoundAnalysis.

_________________
- Diseño.

- Así se importa una extensión:

_________________
- Bloques.

---------------------------------------------

- Vector Arithmetic

Ponemos un VectorArithmetic, un Botón1 y una Etiqueta (Label1)

A cada vector le ponemos dos números, separados por coma.

Nos dará la suma de esos dos números.

10,20
40,50

Nos dará en la Etiqueta

50.0,70.0

---------------------------------------------

- ImageProcessor

- Subimos dos imágenes (pera.gif y limon.gif)

- Ponemos en la ventana 4 componentes de image.

- Ponemos un Botón2

---------------------------------------------

- SoundAnalysis

- Ponemos dos Botones y dos Etiquetas.

- Al hablar deberá aparecer un número en la Etiqueta2.

- En la Etiqueta3 aparecerá true o false, según esté activado o no el complemento.

-------------------------------------------
-------------------------------------------

- scaleDetector

scaleGestureDemo.aia
(Aquí está: scaleDetector)

scaleGestureDemo.apk

Explicación

_________________
- Bloques.

- Para poder construir Extensiones es necesario saber programar en JAVA, aquí un ejemplo de la construcción de este componente con su código JAVA.

@SimpleEvent

 public void Scale(double scaleFactor) {

EventDispatcher.dispatchEvent(this, "Scale", scaleFactor);

 }


public class MyOnScaleGestureListener extends

        SimpleOnScaleGestureListener {

  //  We override the event handling of the ordinary SimpleOnScaleGestureListener
  // In this case, make the onScale event call the component's Scale event handler, whose
  // behavior can be defined by the When Scale block.

  @Override

  public boolean onScale(ScaleGestureDetector detector) {     

float scaleFactor = detector.getScaleFactor();

//  Log.i("Scale", "onScale was signaled, scale factor = " + scaleFactor);

Scale((double) scaleFactor);

return true;

  }

}

public class ExtensionScaleDetector extends ScaleGestureDetector

     implements Canvas.ExtensionGestureDetector {

  public ExtensionScaleDetector(Context c, OnScaleGestureListener l ) {

super(c,l);

  }

}

boolean onTouchEvent(MotionEvent event);

 @SimpleFunction

 public void AddHanderToCanvas(Canvas myCanvas) {

this.myCanvas = myCanvas;

ExtensionScaleDetector myDetector =

    new ExtensionScaleDetector(myCanvas.getContext(), new MyOnScaleGestureListener());

myCanvas.registerCustomGestureDetector(myDetector);

 }

----------------------------------------------------------------------------------------------

- Más ejemplos de extensiones. Taifun.

Tainfun en su web muestra una extensión llamada "TaifunFile", mediante ella se pueden copiar archivos, borrar, comprobar si existe, saber su longitud, ver el listado de archivos de una carpeta,...

La extensión se llama: TainfunFile.aix y tiene varios ejemplos al final de su página: http://puravidaapps.com/file.php

Otro ejemplo de Tainfun para obtener información del móvil: http://puravidaapps.com/telephonymanager.php

Otras extensiones creadas por Tainfun de Puravida.

----------------------------------------------------------------------------------------------

Más información: http://ai2.appinventor.mit.edu/reference/other/extensions.html

App inventor source: http://appinventor.mit.edu/appinventor-sources/

___________________________

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información