Java ME (Micro Edition)Es una plataforma orientada a proveer unacolección de APIs de desarrollo de software paradispositiv...
Java ME (Micro Edition)Características*Flexibilidad en la creación de interfaces gráficas*Variedad de APIs para distintos ...
MIDletsLas aplicaciones Java ME, se denominan MIDlets<<Así como se le llama APPLET , auna aplicación que corre en unnavega...
Modelo de compilación      Ejecución del programa          [Compilacion JIT]           JVM (Maquina Virtual)Bytecode (Códi...
Distribución  Archivo .jar    Archivo .jadque contiene el que describe los bytecode del    contenidos del   programa      ...
Arquitectura    Paquetes opcionales        APIs para juegos 3D, multimedia               Perfiles                    MIDP ...
Actividad 1Hola Mundo!
Instalación del IDE y   complementos
Creación del proyecto
Ciclo de vida de un MIDletLos dispositivos móviles (ya sea emulador o uno real), interactúa con unMIDlet a través de su pr...
Ciclo de vida de un MIDlet                                        AMS                             Application Management S...
Estado PausedEn este estado el MIDlet está esperando por ser pasar al estado ACTIVEy no consume recursos del dispositivo.C...
Estado ActiveEn este estado el MIDlet la aplicación ejecuta todas sus funcionesCausas-Cuando se inicia la aplicación (El A...
Estado DestroySe puede destruir una aplicación que esté tanto en estado ACTIVE comoPAUSED. Al destruir, lo que hacemos es ...
Secuencia de eventos                             Dispositivo libre                                 El usuario            U...
Importando paquetes
Paquetes fundamentalesjavax.microedition.midlet       Nos provee la clase MIDletjavax.microedition.icdui•   Alert         ...
Bases de la GUI
Interfaz grafica de Usuario  Debe haber un objeto «Displayable» o Contenedor, que contendrá los  demás elementos y un admi...
Clase DisplayRepresenta el administrador para la visualización correcta del MIDlet y laentrada desde el dispositivo.Provee...
Clase FormEs un contenedor en el que se pueden insertar diferentes elementos•   Campos de texto de solo lectura•   Campos ...
Interfaz grafica de UsuarioDisplay display;                     Form form;display= Display.getDisplay(this);   form = new ...
Código Actividad 1
Emulador
Actividad 2Sistema de Login
Desarrollo de la actividadAplicación    Aplicación                           Aplicación    de            de               ...
Clase TextField  Es un componente editable que debe ir ubicado dentro de un Form  Input Constraints o Restricciones de ent...
Clase ImageRepresenta un conjunto de datos gráficos.Creando la imagen           Image img;           try{                 ...
Clase Command  Es una clase que encapsula la información semántica para una acción  Tipos  •    BACK  •    CANCEL  •    EX...
Interface CommandListenerCommandListener asociado con el Displayable, es el que define enrealidad que acción se llevo a ca...
Clase Alert   Es una pantalla que muestra datos al usuario y espera por un cierto   periodo de tiempo antes de procesar el...
Clase Alert Ejemplo constructorAlert error = new Alert("Login Incorrect", "Please   try again", imge, AlertType.ERROR);   ...
Material elaborado por:Anderson Rubio andersonrubioquintero@gmail.com           @anderblackhawk      www.andersonrubio.com
Upcoming SlideShare
Loading in …5
×

Java ME (Micro Edition)

2,209 views
2,036 views

Published on

Primeros pasos en el desarrollo de aplicaciones móviles con Java ME (Micro Edition), desde información básica en el ciclo de vida de una aplicación móvil hasta la creación del famoso "Hola Mundo".

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,209
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
50
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Java ME (Micro Edition)

  1. 1. Java ME (Micro Edition)Es una plataforma orientada a proveer unacolección de APIs de desarrollo de software paradispositivos móviles.*Teléfonos celulares (Feature phones)*Apps para BlackBerry (gracias a laBlackBerry® Java® Virtual Machine)
  2. 2. Java ME (Micro Edition)Características*Flexibilidad en la creación de interfaces gráficas*Variedad de APIs para distintos dispositivos deacuerdo a sus recursos y capacidades.*Seguridad*Soporte para aplicaciones que utilizan SMS oInternet*Multiplataforma
  3. 3. MIDletsLas aplicaciones Java ME, se denominan MIDlets<<Así como se le llama APPLET , auna aplicación que corre en unnavegador web>>La gran mayoría deMIDlets desarrollados, sonjuegos para celulares, queimplementan APIs para elmanejo 2D y 3D
  4. 4. Modelo de compilación Ejecución del programa [Compilacion JIT] JVM (Maquina Virtual)Bytecode (Código intermedio) .jar .class [Compilador] Código Fuente .java
  5. 5. Distribución Archivo .jar Archivo .jadque contiene el que describe los bytecode del contenidos del programa archivo .jar.
  6. 6. Arquitectura Paquetes opcionales APIs para juegos 3D, multimedia Perfiles MIDP Configuración CLDC JVM (Java Virtual Machine)AMS (Application Management Software) Sistema Operativo
  7. 7. Actividad 1Hola Mundo!
  8. 8. Instalación del IDE y complementos
  9. 9. Creación del proyecto
  10. 10. Ciclo de vida de un MIDletLos dispositivos móviles (ya sea emulador o uno real), interactúa con unMIDlet a través de su propio software, llamado Application ManagementSoftware (AMS)Estados Métodos• -Active public void startApp() { }• -Paused public void pauseApp() { }• -Destroyed public void destroyApp(boolean unconditional) { }Son métodos que extienden de la clase Midlet y en los cuales podemosubicar código que queremos que se ejecute en un momento dado.
  11. 11. Ciclo de vida de un MIDlet AMS Application Management Software new()* startApp()Paused Active pauseApp()destroyApp() destroyApp() Destroyed
  12. 12. Estado PausedEn este estado el MIDlet está esperando por ser pasar al estado ACTIVEy no consume recursos del dispositivo.Causas-Cuando se llama el método pauseApp()-Cuando el ASM exige recursos del teléfono (por ejemplo, cuando elteléfono recibe una llamada entrante. EL ASM invoca el métodopauseApp() ).-Cuando se dispara MIDletStateChangeException (En caso de un error, sepone en estado PAUSED)
  13. 13. Estado ActiveEn este estado el MIDlet la aplicación ejecuta todas sus funcionesCausas-Cuando se inicia la aplicación (El AMS permite crear una nueva instanciade nuestra aplicación)-Cuando se llama el método startApp()-Cuando se llama el método ResumeRequest()ResumeRequest() es un método que permite pasar de estado Paused aActive
  14. 14. Estado DestroySe puede destruir una aplicación que esté tanto en estado ACTIVE comoPAUSED. Al destruir, lo que hacemos es eliminar la instancia creada, perono desinstalar la aplicación Causas -El usuario apaga repentinamente el dispositivo -Cuando se llama el método destroyApp(boolean unconditional)unconditional es una variable booleana que define si es completamentenecesario destruir la aplicación o no*true - La aplicación se destruirá obligatoriamente, independientemente de lo que estehaciendo.*false - La aplicación se destruirá, siempre y cuando, NO esté haciendo nada importante, si seencuentra ejecutando algún proceso importante, se dispara MIDletStateChangeException
  15. 15. Secuencia de eventos Dispositivo libre El usuario Usuario inicia Llamada FinalizaciónEvento para iniciar la desea cerrar la Aplicación App entrante de la llamada la AppMétodo Constructor()ejecutado startApp() pauseApp() startApp() destroyApp()Estado Paused Active Paused Active Destroyed Secuencia de eventos
  16. 16. Importando paquetes
  17. 17. Paquetes fundamentalesjavax.microedition.midlet Nos provee la clase MIDletjavax.microedition.icdui• Alert • Displayable • Item• AlertType • Font • List• Canvas • Form • Screen• ChoiceGroup • Gauge • StringItem• Command • Graphics • TextBox• DateField • Image • TextField• Display • ImageItem • Ticker
  18. 18. Bases de la GUI
  19. 19. Interfaz grafica de Usuario Debe haber un objeto «Displayable» o Contenedor, que contendrá los demás elementos y un administrador para ese objeto. Solo puede existir un objeto «Displayable» por MIDlet Objeto DisplayableElemento Administrador (Contenedor)Clase Display Form
  20. 20. Clase DisplayRepresenta el administrador para la visualización correcta del MIDlet y laentrada desde el dispositivo.Provee métodos para obtener información sobre las capacidades deldispositivo.• isColor()• numColors()• numAlphaLevels()Creación de un objeto tipo Display Display display; display= Display.getDisplay(this);
  21. 21. Clase FormEs un contenedor en el que se pueden insertar diferentes elementos• Campos de texto de solo lectura• Campos de texto editables• Imágenes• Grupos de botones• Elementos personalizados• En general, cualquier clase hija de la clase ItemCreación de un objeto tipo Form Form form; form = new Form("Titulo Form");
  22. 22. Interfaz grafica de UsuarioDisplay display; Form form;display= Display.getDisplay(this); form = new Form("Titulo Form"); display form display.setCurrent(form)
  23. 23. Código Actividad 1
  24. 24. Emulador
  25. 25. Actividad 2Sistema de Login
  26. 26. Desarrollo de la actividadAplicación Aplicación Aplicación de de Móvil Consola escritorio
  27. 27. Clase TextField Es un componente editable que debe ir ubicado dentro de un Form Input Constraints o Restricciones de entrada • NON_PREDICTIVE • ANY • NUMERIC • DECIMAL • PASSWORD • EMAILADDR • PHONENUMBER • INITIAL_CAPS_SENTENCE • SENSITIVE • INITIAL_CAPS_WORD • UNEDITABLE • URLConstructorTextField(String label, String text, int maxSize, int constraints)Ejemplo userName = new TextField("LoginID:", "", 30, TextField.ANY);
  28. 28. Clase ImageRepresenta un conjunto de datos gráficos.Creando la imagen Image img; try{ img=Image.create(«/ruta_imagen») } catch(){ } Agregándola al Form form.append(img);
  29. 29. Clase Command Es una clase que encapsula la información semántica para una acción Tipos • BACK • CANCEL • EXIT • HELP • ITEM • OK • SCREEN • STOPConstructor Command(String label, int commandType, int priority)Agregándolo al Form form.addCommand(cancel);
  30. 30. Interface CommandListenerCommandListener asociado con el Displayable, es el que define enrealidad que acción se llevo a cabo.Asociándolo al Form form.setCommandListener(this);Identificando el eventopublic void commandAction(Command c, Displayable d) { String label = c.getLabel(); if (label.equals("Cancel")) { //Metodo a ejecutar } else if (label.equals("Login")) { //Metodo a ejecutar } }
  31. 31. Clase Alert Es una pantalla que muestra datos al usuario y espera por un cierto periodo de tiempo antes de procesar el siguiente objeto "Displayable" Puede contener un String y/o una imagen Es similar al JOptionPane de Java SEConstructor para un Alert vacío Alert(String title) Constructor para un Alert completoAlert(String title, String alertText, Image alertImage, AlertType alertType)
  32. 32. Clase Alert Ejemplo constructorAlert error = new Alert("Login Incorrect", "Please try again", imge, AlertType.ERROR); Ejemplo Alert success = new Alert("Login Successfully", "Your Login Process is completed!", img2, AlertType.INFO); success.setImage(img); userName.setString(""); password.setString(""); display.setCurrent(success, form);
  33. 33. Material elaborado por:Anderson Rubio andersonrubioquintero@gmail.com @anderblackhawk www.andersonrubio.com

×