j2me y netbeans(1)

53
Entorno de desarrollo NetBeans, instalación de los componentes necesarios para realizar aplicaciones Java para móviles En la actualidad existen multitud de entornos de desarrollo o IDEs para diseñar e implementar aplicaciones para dispositivos móviles. Para hacerlo usando el lenguaje J2ME podremos encontrar entornos como Eclipse,, JBuilder, IntelliJ, NetBeans, etc. En nuestro caso utilizaremos NetBeans 6.5, se trata de un proyecto de código abierto (open source) de gran éxito, con una gran base de usuarios, una comunidad en constante crecimiento y con un gran número de socios en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de este proyecto. Instalación de JDK 6 Update 17 Antes de instalar NetBeans necesitaremos instalar JDK 6, para ello abriremos un navegador web (como Mozilla Firefox), desde laURL: http://java.sun.com/javase/downloads/index.jsp Pulsaremos el botón "Download" en JDK 6 Update 17 (o la versión que queramos): En Platform elegiremos el sistema operativo, en nuestro caso "Windows" y pulsaremos "Download" (74MB de descarga):

Upload: diego-garcia-grosso

Post on 24-Apr-2015

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: J2ME y NetBeans(1)

Entorno de desarrollo NetBeans, instalación de los componentes necesarios para realizar aplicaciones Java para móviles

En la actualidad existen multitud de entornos de desarrollo o IDEs para diseñar e implementar aplicaciones para dispositivos móviles. Para hacerlo usando el lenguaje J2ME podremos encontrar entornos como Eclipse,, JBuilder, IntelliJ, NetBeans, etc.

En nuestro caso utilizaremos NetBeans 6.5, se trata de un proyecto de código abierto (open source) de gran éxito, con una gran base de usuarios,una comunidad en constante crecimiento y con un gran número de socios en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de este proyecto.

Instalación de JDK 6 Update 17

Antes de instalar NetBeans necesitaremos instalar JDK 6, para ello abriremos un navegador web (como Mozilla Firefox), desde laURL:

http://java.sun.com/javase/downloads/index.jsp

Pulsaremos el botón "Download" en JDK 6 Update 17 (o la versión que queramos):

En Platform elegiremos el sistema operativo, en nuestro caso "Windows" y pulsaremos "Download" (74MB de descarga):

Page 2: J2ME y NetBeans(1)

Mozilla Firefox nos mostrará una ventana con el nombre del fichero ad descargar (jdk-6u17-windows-i586.exe), pulsaremos en "Guardar archivo":

Se iniciará la descarga:

Page 3: J2ME y NetBeans(1)

Accederemos a la carpeta de descargas del usuario de Windows 7, en nuestro caso "C:\Users\ajpdsoft\Downloads" y ejecutaremos el fichero descargado (jdk-6u17-windows-i586.exe), haciendo doble clic sobre él:

El UAC ó Control de cuentas de usuario de Windows 7 nos pedirá confirmación para ejecutar el fichero, pulsaremos "Sí":

Leeremos los términos de licencia de Sun Microsystems, si estamos de acuerdo pulsaremos "Accept":

Page 4: J2ME y NetBeans(1)

El asistente de instalación de Java SE Development Kit 6 Update 17 nos permitirá elegir las opciones de instalación, dejaremos todas marcadas y pulsaremos "Next" (si quisiéramos cambiar la carpeta de destino pulsaremos en "Change" y elegiremos una carpeta de destino distinta la la de defecto):

Antes de la instalación definitiva, en asistente nos vuelve a dar la opción de cambiar la carpeta de destino, si queremos dejar la de defecto pulsaremos "Next":

Page 5: J2ME y NetBeans(1)

Tras la instalación el asistente nos mostrará una ventana indicando: Java(TM) SE Development Kit 6 Update 17 Successfully Installed", pulsaremos "Finish":

 

Instalación de NetBeans 6.7.1

Instalaremos el IDE de desarrollo NetBeans, versión 6.7.1, que será la herramienta principal a utilizar para el desarrollo de aplicaciones para dispositivos móviles, PDAs, etc. Para ello abriremos un navegador Web (como Mozilla Firefox), desde la URL:

http://netbeans.org/downloads/indexC.html

Page 6: J2ME y NetBeans(1)

En el "Idioma del IDE" seleccionaremos "Español". En las distintas posibilidades (tecnologías) a elegir para la descarga: Java SE, JavaFX, Java Web y EE, Java ME, Ruby, C/C++, Groovy, etc. pulsaremos el botón "Download" de la columna "Java":

Mozilla Firefox nos mostrará una ventana con el nombre del fichero ad descargar (netbeans-6.7.1-ml-java-windows.exe, de 251MB), pulsaremos en "Guardar archivo":

Se iniciará la descarga del fichero de instalación de NetBeans 6.7.1:

Page 7: J2ME y NetBeans(1)

Tras la descarga, abriremos la carpeta de descargas del usuario y ejecutaremos el fichero netbeans-6.7.1-ml-java-windows.exehaciendo doble clic sobre él:

El UAC ó Control de cuentas de usuario de Windows 7 nos pedirá confirmación para ejecutar el fichero, pulsaremos "Sí":

El Firewall (cortafuegos) de Windows 7 nos bloqueará el acceso del fichero java.exe a la red, pulsaremos en "Permitir acceso":

Page 8: J2ME y NetBeans(1)

Se iniciará el asistente de instalación de NetBeans IDE 6.7.1, si queremos personalizar la instalación, eligiendo los complementos a instalar, pulsaremos en "Personalizar":

Desde la ventana de "Personalizar la instalación" marcaremos o desmarcaremos los posibles paquetes: Java SE, JavaScript Debugger, Java Web y EE, Java ME, Groovy, Características de la demanda, Sun GlassFish Enterprise Server. En nuestro caso dejaremos todas marcadas:

Page 9: J2ME y NetBeans(1)

Tras elegir las opciones de instalación pulsaremos en "Siguiente":

Leeremos los términos de licencia de NETBEANS IDE 6.7.1, si estamos de acuerdo marcaremos la opción "Acepto los términos del acuerdo de licencia" y pulsaremos "Siguiente":

Page 10: J2ME y NetBeans(1)

A continuación deberemos elegir la carpeta de instalación de NetBeans IDE y la carpeta donde instalamos JDK 6 Update 17 (si todo es correcto la detectrará automáticamente, mediante la variable de entorno), pulsaremos "Siguiente" para continuar:

Si hemos elegido instalar Sun GlassFish Enterprise Server (servidor de aplicaciones desarrollado por Sun Microsystems que implementa las tecnologías definidas en la plataforma Java EE y permite ejecutar aplicaciones que siguen esta especificación, es parecido a Apache Tomcat) deberemos indicar la carpeta donde se instalará, el JDK a utilizar, el nombre del usuario administrador ("admin" por defecto) de GlassFish, la contraseña ("adminadmin" por defecto), el puerto HTTP (por defecto

Page 11: J2ME y NetBeans(1)

8080) que utilizará este servidor de aplicaciones web, el puerto HTTPS (por defecto 8181) y el puerto de administración (por defecto 4848):

También deberemos elegir la carpeta de instalación de Sun GlassFish Enterprise Server v3 Prelude:

Antes de la instalación final de NetBeans, el asistente nos mostrará un resumen de las opciones elegidas y el espacio que necesitará en disco, en nuestro caso 720MB, pulsaremos "Instalar":

Page 12: J2ME y NetBeans(1)

El Firewall (cortafuegos) de Windows 7 nos bloqueará el acceso del fichero java.exe a la red, pulsaremos en "Permitir acceso":

Tras la instalación de NetBeans podremos ayudar al proyecto NetBeans marcando la opción "Apoye al proyecto NetBeans proporcionando datos de uso anónimamente", también podremos registrarnos (gratuitamente) marcando "Registre NetBeans IDE y Sun GlassFish Enterprise Server después de finalizar la instalación". Pulsaremos "Terminar":

Page 13: J2ME y NetBeans(1)

Con esto habremos instalado NetBeans IDE 6.7.1 en nuestro equipo con Windows 7. Para ejecutarlo haremos doble clic en el acceso directo del escritorio "NetBeans IDE 6.7.1":

El IDE de NetBeans 6.7.1 en funcionamiento:

Page 14: J2ME y NetBeans(1)

 

Instalación de NetBeans Mobility Pack

En realidad, para la versión NetBeans IDE 6.7.1 no es necesario instalar NetBeans Mobility Pack pues ya va incorporado. Si utilizamos otra versión anterior de NetBeans seguiríamos los siguientes pasos para instalar NetBeans Mobility Pack:

abriremos un navegador Web (como Mozilla Firefox), desde la URL:

http://www.netbeans.info/downloads/all.php?b_id=2368

Pulsaremos en la línea de "Windows" para iniciar la descarga:

Page 15: J2ME y NetBeans(1)

Se iniciará la descarga del fichero de instalación de NetBeans Mobility Pack (netbeans-mobility-5_5-windows.exe (de 25MB), pulsaremos en "Guardar archivo":

Abriremos la carpeta de descargas del usuario, en nuestro caso "C:\Users\ajpdsoft\Downloads" y haremos doble clic sobre el fichero netbeans-mobility-5_5-windows.exe para iniciar la instalación:

Page 16: J2ME y NetBeans(1)

El UAC ó Control de cuentas de usuario de Windows 7 nos pedirá confirmación para ejecutar el fichero, pulsaremos "Sí":

Se abrirá el asistente de instalación de NetBeans Mobility Pack 5.5 (en nuestro caso), pulsaremos "Next":

Page 17: J2ME y NetBeans(1)

Leeremos los términos de licencia, si estamos de acuerdo marcaremos "I accept the terms in the license agreement" y pulsaremos "Next":

Indicaremos la carpeta de instalación de NetBeans pulsando en "Browse":

Page 18: J2ME y NetBeans(1)

La seleccionaremos en la ventana de "Select a directory":

Y pulsaremos "Next" para instalar NetBeans Mobility Pack. Volvemos a repetir que para el caso de la versión 6.7.1 de NetBeans este componente ya está instalado.

Page 19: J2ME y NetBeans(1)

 

Instalación de Sun Java Wireless Toolkit 2.5.2_01

Para instalar Sun Java Wireless Toolkit abriremos un navegador web (como Mozilla Firefox) y accederemos a la URL:

http://java.sun.com/products/sjwtoolkit/download.html?feed=JSC

Pulsaremos en el botón "Download". A continuación elegiremos en "Platform" el sistema operativo "Windows", marcaremos "I agree..." y pulsaremos en "Continue". Marcaremos "Sun Java Wireless Toolkit 2.5.2_01 for CLDC" y pulsaremos en "sun_java_wireless_toolkit-2.5.2_01-win.exe". Se iniciará la descarga del fichero sun_java_wireless_toolkit-2.5.2_01-win.exe (de 38MB) y, como en los casos anteriores, abriremos la carpeta de descargas y haremos doble clic sobre este fichero.

Se abrirá el asistente de instalación, pulsaremos "Next":

Page 20: J2ME y NetBeans(1)

Leeremos los términos de licencia, si estamos de acuerdo pulsaremos "Accept":

Seleccionaremos la carpta del JDK que deseemos que utilizar para Sun Java Wireless Toolkit, en nuestro caso el instalado anteriormente. Si queremos utilizar otro pulsaremos "Browse":

Page 21: J2ME y NetBeans(1)

Indicaremos la carpeta de instalación de Sun Java Wireless Toolkit, por defecto C:\WTK2.5.2_01, es recomendable que no lleve espacios en el nombre de la carpeta de destino:

Pulsaremos "Next" para continuar:

Page 22: J2ME y NetBeans(1)

Si queremos que se compruebe si hay actualizaciones automáticas de Sun Java Wireless Toolkit marcaremos "Check for Product Updates", pulsaremos "Next":

Comprobaremos las opciones elegidas, si son correctas pulsaremos "Next" para iniciar la instalación definitiva de Sun Java Wireless Toolkit:

Page 23: J2ME y NetBeans(1)

Tras la instación pulsaremos "Finish":

A continuación agregaremos este plugin o complemento a NetBeans para poder utilizarlo en las aplicaciones que desarrollemos. Para ello abriremos NetBeans IDE haciendo doble clic sobre el acceso directo del escritorio "NetBeans IDE 6.7.1" de

Page 24: J2ME y NetBeans(1)

nuestro equipo con Windows 7. Una vez abierto pulsaremos en el menú "Herramientas" - "Plataformas Java...", en la ventana de "Administrador de Java Platform" pulsaremos en "Añadir plataforma...":

Seleccionaremos Java ME MIDP Platform Emulator y pulsaremos "Siguiente":

Si la instalación de Sun Java Wireless Toolkit ha sido correcta nos detectará la carpeta donde la instalamos, pulsaremos "Siguiente":

Page 25: J2ME y NetBeans(1)

El Firewall de Windows 7 nos detectará y bloqueará un acceso del fichero emulator.exe a la red, pulsaremos en "Permitir acceso":

Si la plataforma es correcta, el asistente para añadir plataformas Java nos mostrará los datos de Sun Java(TM) Wireless Toolkit 2.5.2_01 for CLDC:

Page 26: J2ME y NetBeans(1)

En Platform Details mostrará los detalles de la plataforma a instalar:

Devices: DefaultColorPhone, DefaultGrayPhone, MediaControlSkin, QwertyDevice Profiles: MIDP-1.0, MIDP-2.0, MIDP-2.1 Configurations: CLDC-1.0, CLDC-1.1 Optional APIs: J2ME-WS-1.0, J2ME-XMLRPC-1.0, JSR172-1.0, JSR177-1.0, JSR179-1.0.1, JSR180-1.0.1, JSR184-1.1, JSR211-1.0, JSR226-1.0, JSR229-1.1.0, JSR234-1.0, JSR238-1.0, JSR239-1.0, JSR75-1.0, JSR82-1.1, MMAPI-1.1, OBEX-1.0, SATSA-APDU-1.0, SATSA-CRYPTO-1.0, SATSA-JCRMI-1.0, SATSA-PKI-1.0, WMA-1.1, WMA-2.0

Pulsaremos en "Terminar" en la ventana anterior para finalizar de agregar a NetBeans la plataforma Sun Java(TM) Wireless Toolkit 2.5.2_01 for CLDC.

Y quedará instalado en la plataforma J2ME:

Page 27: J2ME y NetBeans(1)

 

Cómo realizar mi primera aplicación para teléfono móvil

Creación de un nuevo proyecto JavaME Mobile Application en NetBeans

Abriremos NetBeans IDE haciendo doble clic sobre el acceso directo del escritorio "NetBeans IDE 6.7.1" de nuestro equipo conWindows 7. Una vez abierto pulsaremos en el menú "Achivo" - "Proyecto Nuevo...":

Page 28: J2ME y NetBeans(1)

 

En "Categorías" elegiremos "Java ME", en "Proyectos" seleccionaremos "Mobile Application":

Introduciremos los siguientes datos:

Project name: nombre que tendrá el proyecto, en nuestro caso "AjpdSoft Hola mundo J2ME".

Project Location: carpeta donde se guardarán los proyectos. Project Folder: carpeta donde se guardarán los ficheros del proyecto. Set as main Project: si marcamos esta opción el MIDlet que creemos será el

proyecto principal en el entorno NetBeans. Create hello MIDlet: si marcamos esta opción se creará un MIDlet de ejemplo

con el típico mensaje "Hola mundo".

Page 29: J2ME y NetBeans(1)

En la siguiente ventana podremos elegir los siguientes parámetros:

Emulator Platform: seleccionaremos Sun Java(TM) Wireless Toolkit 2.5.2_01 for CLDC.

Device: tipo de dispositivo para el emulador, en nuestro caso "DefaultColorPhone".

Device configuration: tipo de configuración, en nuestro caso CLDC-1.1. Device Profile: tipo de pefil, en nuestro caso MIDP-2.1.

Introduciremos los datos anteriores y pulsaremos "Siguiente":

Page 30: J2ME y NetBeans(1)

Si necesitamos más perfiles de configuración podremos marcarlos en la siguiente ventana. Pulsaremos "Terminar" para iniciar el desarrollo del proyecto:

Puesto que hemos marcado "Create hello MIDlet" NetBeans creará un formulario con las acciones necesarias para mostrar un mesaje en la pantalla de nuestro móvil "Hello world":

Page 31: J2ME y NetBeans(1)

Vistas del IDE NetBeans: Source, Screen y Flow

Vista Flow Design

Esta vista es la primera que aparece cuando inicialmente creamos un MIDlet. Esta vista resulta muy interesante ya que nos indica cuál es el flujo de ventanas de nuestra aplicación, es decir, qué ventana lleva a qué otra ventana y a través de qué botón o comando. También nos permite editar fácilmente dicho flujo simplemente arrastrando y soltando elementos sobre el panel principal. De esta forma un desarrollador puede ir tomando cada uno de los tipos de ventana que se muestran en la Paleta de la derecha, dentro del grupo Screens (es decir, Alert, List, Splash-Screen, Form, TextBox o bien WaitScreen), ir colocándolos en el panel principal e ir definiendo cómo llegar de una ventana a otra simplemente conectándolas entre sí. Además, a cada ventana se le puede añadir cualquiera de los demás elementos que se muestran en la Paleta (Commands, Form Items, Elements, etc.) simplemente arrastrando dicho elemento sobre la ventana en la que queramos añadirlo. Por último, decir que cuando se selecciona cualquier elemento en el panel principal, también es posible modificar sus propiedades o atributos mediante el panel de Propiedades que se encuentra debajo de la Paleta, abajo a la derecha, lo cual resulta extremadamente útil al programador:

Page 32: J2ME y NetBeans(1)

 

Vista Screen Design

Esta vista también resulta extremadamente útil al programador ya que a través de la misma es posible realizar el diseño de cada una de las ventanas de las que consta nuestro MIDlet. De esta forma el desarrollador podrá ver el aspecto

Page 33: J2ME y NetBeans(1)

final que aproximadamente tendrá su aplicación. Para cambiar la ventana que queremos diseñar basta con seleccionarla en la lista desplegable llamada Edited Screen que se encuentra encima del panel principal a la derecha. En nuestro ejemplo de "Hola mundo" sólo podemos diseñar inicialmente una ventana llamada helloForm.

En esta vista también disponemos de la Paleta de componentes, y el diseño de las ventanas es tan sencillo como arrastrar los elementos desde ésta hasta el panel principal, igual que ocurra en la vista Flow Design. Y del mismo modo que en la vista Flow Design era posible editar las propiedades o atributos de los elementos seleccionados desde el panel de Propiedades, aquí eso también es posible de la misma forma. En la sección anterior no se comentó el panel Inspector mediante el cual podemos ver todos los elementos (ventanas, comandos, Items, etc.) que conforman nuestro MIDlet en forma de árbol jerárquico. A través de él también se pueden realizar todas las acciones comentadas anteriormente para esta vista. Merece la pena resaltar la gran utilidad que esta vista ofrece al desarrollador de aplicaciones J2ME. Hasta tal punto es interesante que será posible desarrollar aplicaciones sencillas sin necesidad de ver ni escribir ni una sola línea de código:

 

Page 34: J2ME y NetBeans(1)

Vista Source

La vista Source permite ver y modificar el código fuente Java de nuestra aplicación:

 

Compilar y ejecutar la aplicación (MIDlet) en el emulador de NetBeans

Para compilar el MIDlet pulsaremos en el menú "Ejecutar" - "Limpiar y generar Main Project" o la pulsación de las teclas Mayúsculas + F12. Nos mostrará el resultado de la operación en la parte inferior del IDE de desarrollo:

Page 35: J2ME y NetBeans(1)

Si todo es correcto mostrará, al final, algo así: "GENERACIÓN CORRECTA (total time: 2 seconds)". Una vez compilado correctamente NetBeans habrá generado los ficheros .jar y .jad correspondientes. Con estos dos ficheros la aplicación ya se podría ejecutar en un teléfono móvil. Estos ficheros se encuentran en la carpeta "dist", dentro de la carpeta del proyecto:

Page 36: J2ME y NetBeans(1)

En nuestro caso: AjpdSoft_Hola_mundo_J2ME.jad y AjpdSoft_Hola_mundo_J2ME.jar.

Como decimos, si transferimos estos dos ficheros a un teléfono móvil y ejecutamos el AjpdSoft_Hola_mundo_J2ME.jar, el móvil nos pedirá si deseamos instalarlo, lo instalaremos y ya funcionará nuestra primera aplicación para móvil.

 

Para ejecutarlo y probarlo en el equipo (en el emulador de NetBeans) pulsaremos en el menú "Ejecutar" - "Ejecutar Main Project":

Page 37: J2ME y NetBeans(1)

Si todo es correcto se ejecutará el emulador de teléfomo móvil, como si de un móvil se tratase, aparecerá seleccionado nuestro MIDlet, pulsaremos en el botón central del teléfono para ejecutarlo:

Y podremos ver en nuestro equipo cómo funcionaría la aplicación (MIDlet) en el móvil:

Page 38: J2ME y NetBeans(1)

 

Ficheros JAR y JAD

Un

Page 39: J2ME y NetBeans(1)

fichero JAR (Java Archive) es el encargado de encapsular todas las clases y recursos (imágenes, sonidos, datos, etc.) que conformen uno o más MIDlets.Un archivo JAR es un tipo de archivo que permite ejecutar aplicaciones escritas en lenguaje Java. Los archivos JAR están comprimidos con el formato de archivo ZIP. Además de las clases y los recursos, un

Page 40: J2ME y NetBeans(1)

fichero JAR incluye otro archivo conocido como manifiesto (con nombre manifest.mf). Dicho archivo contiene información sobre el contenido del fichero JAR, los atributos de este archivo son:

Atributo DescripciónRequerido

MIDlet-Name Nombre de la MIDlet suite Sí

MIDlet-Version Versión de la MIDlet suite Sí

MIDlet-Vendor Desarrollador del MIDlet Sí

MIDlet-nContiene una lista con el nombre de la MIDlet suite, icono y nombre del MIDlet en la suite

Microedition-Configuration

Configuración necesitada para ejecutar el MIDlet

Microedition-Profile Perfil necesitado para ejecutar el MIDlet Sí

MIDlet-Description Descripción de la MIDlet suite No

MIDlet-Icon Nombre del archivo png incluido en el JAR No

MIDlet-Info-URL URL con información sobre el MIDlet No

MIDlet-Data-Size Número de bytes requeridos por el MIDlet No

 

El

Page 41: J2ME y NetBeans(1)

fichero JAD (Java Application Descriptor) es opcional y sirve para proporcionar información adicional acerca del juego de MIDlets contenido en un

Page 42: J2ME y NetBeans(1)

fichero JAR. Los atributos del archivo JAD son los siguientes:

Atributo DescripciónRequerido

MIDlet-Name Nombre de la MIDlet suite Sí

MIDlet-Vendor Nombre del desarrollador Sí

MIDlet-Version Versión del MIDlet Sí

MIDlet-ConfigurationConfiguración necesitada para ejecutar el MIDlet

MIDlet-Profile Perfil Perfil necesitado para ejecutar el MIDlet Sí

MIDlet-Jar-URL URL del archivo JAR de la MIDlet suite Sí

MIDlet-Jar-Size Tamaño en bytes del archivo JAR Sí

MIDlet-Data-SizeMínimo número de bytes de almacenamientopersistente usado por el MIDlet

No

MIDlet-Delete-ConfirmConfirmación a la hora de eliminar el MIDlet

No

MIDlet-Description Descripción de la MIDlet suite No

MIDlet-Icon Archivo .png incluido en el JAR No

MIDlet-Info-URL URL con información de la MIDlet suite No

MIDlet-Install-NotifyIndica que el AMS notifique al usuario de lainstalación del nuevo MIDlet

No

 

 

Código fuente (source code) en Java de la aplicación para móvil

El código Java de la aplicación para teléfonos móviles AjpdSoft Hola mundo J2ME es el siguiente (todo generado automáticamente por el asistente de nuevo proyecto):

/* * To change this template, choose Tools | Templates * and open the template in the editor. */

package hello;

import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

/**

Page 43: J2ME y NetBeans(1)

* @author ajpdsoft */public class HelloMIDlet extends MIDlet implements CommandListener {

private boolean midletPaused = false;

//

private Command exitCommand;

private Form form;

private StringItem stringItem;

//

/** * The HelloMIDlet constructor. */ public HelloMIDlet() { }

//

//

//

/**

* Initilizes the application.

* It is called only once when the MIDlet is * started. The method is called before the startMIDlet method.

*/

private void initialize() {

Page 44: J2ME y NetBeans(1)

// write pre-initialize user code here

// write post-initialize user code here

}

//

//

/**

* Performs an action assigned to the * Mobile Device - MIDlet Started point.

*/

public void startMIDlet() {

// write pre-action user code here

switchDisplayable(null, getForm());

// write post-action user code here

}

//

//

/**

* Performs an action assigned to the * Mobile Device - MIDlet Resumed point.

*/

public void resumeMIDlet() {

Page 45: J2ME y NetBeans(1)

// write pre-action user code here

// write post-action user code here

}

//

//

/**

* Switches a current displayable in a display. * The display instance is taken from getDisplay * method. This method is used by all actions * in the design for switching displayable.

* @param alert the Alert which is temporarily * set to the display; if null, * then nextDisplayable is set immediately

* @param nextDisplayable the Displayable to be set

*/

public void switchDisplayable(Alert alert, Displayable nextDisplayable) {

// write pre-switch user code here

Display display = getDisplay();

if (alert == null) {

display.setCurrent(nextDisplayable);

} else {

display.setCurrent(alert, nextDisplayable);

}

// write post-switch user code here

Page 46: J2ME y NetBeans(1)

}

//

//

/**

* Called by a system to indicated that a command * has been invoked on a particular displayable.

* @param command the Command that was invoked

* @param displayable the Displayable where the command was invoked

*/

public void commandAction(Command command, Displayable displayable) {

// write pre-action user code here

if (displayable == form) {

if (command == exitCommand) {

// write pre-action user code here

exitMIDlet();

// write post-action user code here

}

}

// write post-action user code here

}

//

//

Page 47: J2ME y NetBeans(1)

/**

* Returns an initiliazed instance of exitCommand component.

* @return the initialized component instance

*/

public Command getExitCommand() {

if (exitCommand == null) {

// write pre-init user code here

exitCommand = new Command("Exit", Command.EXIT, 0);

// write post-init user code here

}

return exitCommand;

}

//

//

/**

* Returns an initiliazed instance of form component.

* @return the initialized component instance

*/

public Form getForm() {

if (form == null) {

// write pre-init user code here

Page 48: J2ME y NetBeans(1)

form = new Form("Welcome", new Item[] { getStringItem() });

form.addCommand(getExitCommand());

form.setCommandListener(this);

// write post-init user code here

}

return form;

}

//

//

/**

* Returns an initiliazed instance of stringItem component.

* @return the initialized component instance

*/

public StringItem getStringItem() {

if (stringItem == null) {

// write pre-init user code here

stringItem = new StringItem("AjpdSoft - Primer programa m\u00F3vil", "AjpdSoft Hola mundo");

// write post-init user code here

}

return stringItem;

}

//

Page 49: J2ME y NetBeans(1)

/** * Returns a display instance. * @return the display instance. */ public Display getDisplay () { return Display.getDisplay(this); }

/** * Exits MIDlet. */ public void exitMIDlet() { switchDisplayable (null, null); destroyApp(true); notifyDestroyed(); }

/** * Called when MIDlet is started. * Checks whether the MIDlet have been already * started and initialize/starts or resumes the MIDlet. */ public void startApp() { if (midletPaused) { resumeMIDlet (); } else { initialize (); startMIDlet (); } midletPaused = false; }

/** * Called when MIDlet is paused. */ public void pauseApp() { midletPaused = true; }

/** * Called to signal the MIDlet to terminate. * @param unconditional if true, then the MIDlet has * to be unconditionally terminated and all * resources has to be released. */ public void destroyApp(boolean unconditional) { }

}

Page 50: J2ME y NetBeans(1)