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