IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Quan el primer home de les cavernes programador va gravar el primer programa a les parets de la primera caverna de la programació, aquest programa el que feia era escriure Hola Mon!, varen ser les primeres pintures rupestres. Els primers llibres de programació romans començaven explicant el programa Salut, Mundi. Com que no està gens clar quins poden ser els efectes sobre les persones que trenquen aquesta tradició ancestral, crec que és més segur començar no fer experiments i fer que el nostre primer MIDlet sigui un Hola Mon!

Creació del MIDlet

Aneu al menú

File > New project (Ctrl-Shift-N)

Seleccioneu la categoria Mobility i seleccioneu la opció MIDP Application.

NetbeansHolaMon.png

Observeu que en aquesta primera pàgina esteu escollint la configuració de la plataforma Java que utilitzareu. Teniu 2 configuracions:

  • CLDC
    • MIDP Application
    • Mobile Class Library
    • Mobile Poject from existing MIDP sources
  • CDC
    • CDC Applications
    • CDC Class Library
    • Import CDC...

Feu clic a Next.

NetbeansHolaMon4.png

Ara poseu com a nom de projecte (camp Project Name) HolaMon. Deixeu les opcions per defecte. Feu clic a Next.

NetbeansHolaMon2.png

Com que heu escollit crear un MIDlet (perfil MIDP) la configuració escollida és CLDC. En aquesta pantalla podeu escollir les versions exactes tant del perfil MIDP com de la configuració CLDC.

NOTA: Aneu amb compte amb la versió de MIDP que escolliu. No tots els mòbils suporten la versió 2.1. En el nostre cas 
escollim la versió 2.0.

L'apartat Device us permet escollir el tipus de telèfon i l'apartat Emulator Plaftorm, el tipus d'emulador. Consulteu l'apartat Plataformes d'emulació de l'article sobre Java ME. Feu clic a Next.

NetbeansHolaMon3.png

La següent finestra la deixeu amb les opcions per defecte. Feu clic a Finish. Ja teniu el MIDlet creat.

Modificació del text Hola Mon!

Aneu a la pestanya Screen i modifiqueu els texts:

  • Hello--> Hola
  • Hello World --> Hola Mon!

Per veure el codi font feu clic al botó dret a sobre del text (menú contextual) i seleccioneu Goto Source. Us redirigirà cap al mètode getStringItem del fitxer HelloMIDlet.java:

   /**
    * 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("Hola", "Hola Mon!");
           // write post-init user code here
       }
       return stringItem;
   }

Les zones que apareixen en gris a l'editor, són zones que no podem modificar. És codi creat des de la pestanya Screen, i per tant, estè relacionat amb la vista d'aplicació (la vista es tot allò referent a la presentació i/o a la interfície d'usuari).

L'única zona de codi que podeu modificar és:

// write pre-init user code here
stringItem = new StringItem("Hola", "Hola Mon!");
// write post-init user code here

Podeu modificar directament la línia:

 stringItem = new StringItem("Hola", "Hola Mon!");

Però no és imprescindible (els canvis es poden fer des de la pestanya Screen).

Els comentaris:

// write pre-init user code here
...
// write post-init user code here

Us indiquen a on podeu afegir codi.

Ara us moment ideal per començar a conèixer les eines de navegació pel codi que ofereix Netbeans. Si seleccioneu el text getStringItem corresponent al nom de la funció a la que estem, podeu executar un cerca d'usos (on s'utilitza aquesta funció) amb Alt+F7 o utilitzant el menú contextual (botó dret i escollir Find Usages).

Veureu que s'utilitza el mètode al mètode getForm:

public Form getForm() {
       if (form == null) {
           // write pre-init user code here
           form = new Form("Welcome", new Item[] { getStringItem() });
           form.addCommand(getExitCommand());
           form.setCommandListener(this);
           // write post-init user code here
       }
       return form;
   }

Que retorna un objecte gràfic de Java ME (vegeu Limited Connected Devices User Interface LCUID) de tipus formulari. Els detalls d'aquest tipus d'objectes i dels seus mètodes els veurem més endavant. Al seu temps, el mètode getForm() és utilitzat (tornem a repetir Alt+F7) a:

public void startMIDlet() {
       // write pre-action user code here
       switchDisplayable(null, getForm());
       // write post-action user code here
}

Al seu torn el mètode startMIDlet és utilitzat a startApp

/**
    * 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;
   }
Diagrama d'estats d'un MIDlet

Mètode que com hem vist a Cicle de vida i esquelet d'un MIDlet, és un dels mètodes principals d'un MIDlet.

Tingueu en compte l'existència dels mètodes:

  • initialize (): permet inicialitzar el MIDlet. Podeu veure el codi de initialize() amb l'opció Navigate>Go to Source del menú contextual (botó dret) o Ctrl+Shift+B.
  • resumeMIDlet (): és el controlador de l'esdeveniment RESUME (s'executà quan succeïx un pauseApp)
  • destroyApp: es cridat pel mètode exitMIDlet que és un mètode cridat al prémer el botó Exit del mòbil (en l'exemple el trobem a l'esquerre).

Execució

Per executar el vostre primer MIDlet en l'emulador feu clic al botó Play NetbeansHolaMon9.png. El resultat és el següent:

NetbeansHolaMon10.png

Seleccioneu el MIDlet que voleu executar, utilitzeu el teclat del mòbil, pitgeu el botó NetbeansHolaMon11.png. Ja teniu el MIDlet executat:

NetbeansHolaMon12.png