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


.

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

____________________________

126.- Extensiones. Plantilla para comenzar un código. Template.

- El siguiente archivo Plantilla.java los puedes utilizar para comenzar una extensión, como punto de partida.

- La extensión es muy simple, solo de aprendizaje. Introducimos una palaba Hola y un número 234

- Obtenemos el doble del número 468

- En el evento obtenemos la frase: Ya terminado Hola

- Esta Plantilla solamente utilizaremos un número entero y un texto.

- El resultado es el número multiplicado por 2. Y el texto con una frase agregada: "Ya he terminado "

- Observa que no he puesto acentos ni en los comentarios.

Plantilla.java

package com.Plantilla;
//  ?© Juan Antonio Villalpando 
// kio4.com
// Creación de extensiones. Junio 2017.
// Plantilla para comenzar a escribir el código.

import com.google.appinventor.components.annotations.DesignerComponent;
import com.google.appinventor.components.annotations.DesignerProperty;
import com.google.appinventor.components.annotations.PropertyCategory;
import com.google.appinventor.components.annotations.SimpleEvent;
import com.google.appinventor.components.annotations.SimpleFunction;
import com.google.appinventor.components.annotations.SimpleObject;
import com.google.appinventor.components.annotations.SimpleProperty;
import com.google.appinventor.components.common.ComponentCategory;
import com.google.appinventor.components.common.PropertyTypeConstants;
import com.google.appinventor.components.runtime.util.MediaUtil;
import com.google.appinventor.components.runtime.*;

@DesignerComponent(version = Plantilla.VERSION,
    description = "Este texto aparecera cuando pulses la interrogacion en las zona de Importar esta extension. " 
	+ "Juan Antonio Villalpando - KIO4.COM ",
    category = ComponentCategory.EXTENSION,
    nonVisible = true,
    iconName = "images/icono.png") 
@SimpleObject(external = true)
public class Plantilla extends AndroidNonvisibleComponent implements Component {

    public static final int VERSION = 1;
    public static final String DEFAULT_TEXTO = "Hola";
    public static final int DEFAULT_NUMERO = 123;
    private ComponentContainer container;
    private String texto = "";
	private int  numero = 0;
 
    public Plantilla(ComponentContainer container) {
        super(container.$form());
        this.container = container;
        Texto(DEFAULT_TEXTO);
		Numero(DEFAULT_NUMERO);
    }

    // Creación de las Propiedades.
    @SimpleProperty(
        category = PropertyCategory.BEHAVIOR)
    public String Texto() {
        return texto;
    }
	
	  @SimpleProperty(
        category = PropertyCategory.BEHAVIOR)
    public double Numero() {
        return numero;
    }

    // Establecimiento de las Propiedades.
    @DesignerProperty(editorType = PropertyTypeConstants.PROPERTY_TYPE_STRING, defaultValue = Plantilla.DEFAULT_TEXTO + "")
    @SimpleProperty(description = "Ayuda al situar el raton sobre este bloque. ")
    public void Texto(String nuevoTexto) {
        this.texto = nuevoTexto;
    }
	
	@DesignerProperty(editorType = PropertyTypeConstants.PROPERTY_TYPE_INTEGER, defaultValue = Plantilla.DEFAULT_NUMERO + "")
    @SimpleProperty(description = "Ayuda al situar el raton sobre este bloque. ")
    public void Numero(int nuevoNumero) {
        this.numero = nuevoNumero;
    }
	
    // Función que hace las operaciones.
    @SimpleFunction(description = "Realiza el doble.")
    public int Operaciones(String textoDeEntrada, int numeroDeEntrada) {
		String terminado = "";
		int eldoble = 0;
				
		eldoble = numeroDeEntrada * 2;
		terminado = "Ya he terminado " + textoDeEntrada;
      
       BloqueEvento(terminado);  
      
        return eldoble;
    }
	
    // Bloque de Evento.
    @SimpleEvent(description = "Bloque del Evento. ")
    public void BloqueEvento(String respuesta){
        EventDispatcher.dispatchEvent(this, "BloqueEvento", respuesta);
    }  
	
}	

- Por comodidad de lectura vuelvo a repetir la misma plantilla y realizo los comentarios sobre ella.

Plantilla.java

package com.Plantilla; // Fijate que a lo largo del codigo se repite la palabra Plantilla. Es el nombre de la clase.
// ‎© Juan Antonio Villalpando
// kio4.com
// Creacion de extensiones. Junio 2017.
// Plantilla para comenzar a escribir el codigo.

 

// Estas son las importaciones, codigos que son necesarios de anadir a nuestra extension.

 

import com.google.appinventor.components.annotations.DesignerComponent;
import com.google.appinventor.components.annotations.DesignerProperty;
import com.google.appinventor.components.annotations.PropertyCategory;
import com.google.appinventor.components.annotations.SimpleEvent;
import com.google.appinventor.components.annotations.SimpleFunction;
import com.google.appinventor.components.annotations.SimpleObject;
import com.google.appinventor.components.annotations.SimpleProperty;
import com.google.appinventor.components.common.ComponentCategory;
import com.google.appinventor.components.common.PropertyTypeConstants;
import com.google.appinventor.components.runtime.util.MediaUtil;
import com.google.appinventor.components.runtime.*;

// En alguno codigos ademas de las importaciones anteriores se ha de importar otras.

@DesignerComponent(version = Plantilla.VERSION,
// Es conveniente poner pequenas descripciones de los distintos bloques:
description = "Este texto aparecera a la izquierda en la parte de Diseno. "

+ "Juan Antonio Villalpando - KIO4.COM ",
// Esto significa que estamos construyendo una Extension.
category = ComponentCategory.EXTENSION,
// Las Extensiones No son Visible en la Screen. AndroidNonvisibleComponent.
nonVisible = true,
// El icono tambien puede estar en una dirección web. Consulta la pagina de trucos.
iconName = "images/icono.png")
@SimpleObject(external = true)
public class Plantilla extends AndroidNonvisibleComponent implements Component {

 

public static final int VERSION = 1;
public static final String DEFAULT_TEXTO = "Hola"; // Valor por defecto que tomara cierta Propiedad de texto
public static final int DEFAULT_NUMERO = 123; // Valor por defecto que tomara cierta Propiedad de numero.
private ComponentContainer container;
private String texto = ""; // Valor inicial de la variable texto
private int numero = 0; // Valor inicial de la variable numero


public Plantilla(ComponentContainer container) {
super(container.$form());
this.container = container;
Texto(DEFAULT_TEXTO); // Valor del Texto por defecto.
Numero(DEFAULT_NUMERO); // Valor del Numero por defecto.

}

// Creacion de las Propiedades.
@SimpleProperty(
category = PropertyCategory.BEHAVIOR)
public String Texto() {
return texto;
}

@SimpleProperty(
category = PropertyCategory.BEHAVIOR)
public double Numero() {
return numero;
}

// Establecimiento de las Propiedades.
@DesignerProperty(editorType = PropertyTypeConstants.PROPERTY_TYPE_STRING, defaultValue = Plantilla.DEFAULT_TEXTO + "")
@SimpleProperty(description = "Ayuda al situar el raton sobre este bloque. ")
public void Texto(String nuevoTexto) {
this.texto = nuevoTexto;
}

@DesignerProperty(editorType = PropertyTypeConstants.PROPERTY_TYPE_INTEGER, defaultValue = Plantilla.DEFAULT_NUMERO + "")
@SimpleProperty(description = "Ayuda al situar el raton sobre este bloque. ")
public void Numero(int nuevoNumero) {
this.numero = nuevoNumero;
}


// Funcion que hace las operaciones.


@SimpleFunction(description = "Realiza el doble.")
// La funcion del bloque Violeta se llama Operaciones.
public int Operaciones(String textoDeEntrada, int numeroDeEntrada) {
String terminado = "";
int eldoble = 0;

eldoble = numeroDeEntrada * 2;
terminado = "Ya he terminado " + textoDeEntrada;

BloqueEvento(terminado); // Va al BloqueEvento.

return eldoble; // Este es el resultado.
}

// Bloque Evento.


@SimpleEvent(description = "Bloque del Evento. ")
public void BloqueEvento(String respuesta){
EventDispatcher.dispatchEvent(this, "BloqueEvento", respuesta);
}

} // => Fin del codigo.

___________________________

 

- 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