Your SlideShare is downloading. ×
0
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Java ME (Micro Edition)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Java ME (Micro Edition)

1,857

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

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
1,857
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
48
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. 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. Distribución Archivo .jar Archivo .jadque contiene el que describe los bytecode del contenidos del programa archivo .jar.
  • 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. Actividad 1Hola Mundo!
  • 8. Instalación del IDE y complementos
  • 9. Creación del proyecto
  • 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. Ciclo de vida de un MIDlet AMS Application Management Software new()* startApp()Paused Active pauseApp()destroyApp() destroyApp() Destroyed
  • 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. 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. 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. 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. Importando paquetes
  • 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. Bases de la GUI
  • 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. 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. 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. Interfaz grafica de UsuarioDisplay display; Form form;display= Display.getDisplay(this); form = new Form("Titulo Form"); display form display.setCurrent(form)
  • 23. Código Actividad 1
  • 24. Emulador
  • 25. Actividad 2Sistema de Login
  • 26. Desarrollo de la actividadAplicación Aplicación Aplicación de de Móvil Consola escritorio
  • 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. 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. 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. 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. 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. 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. Material elaborado por:Anderson Rubio andersonrubioquintero@gmail.com @anderblackhawk www.andersonrubio.com

×