• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Java ME (Micro Edition)
 

Java ME (Micro Edition)

on

  • 1,967 views

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

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

Statistics

Views

Total Views
1,967
Views on SlideShare
1,967
Embed Views
0

Actions

Likes
1
Downloads
37
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Java ME (Micro Edition) Java ME (Micro Edition) Presentation Transcript

    • 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)
    • 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
    • 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
    • Modelo de compilación Ejecución del programa [Compilacion JIT] JVM (Maquina Virtual)Bytecode (Código intermedio) .jar .class [Compilador] Código Fuente .java
    • Distribución Archivo .jar Archivo .jadque contiene el que describe los bytecode del contenidos del programa archivo .jar.
    • Arquitectura Paquetes opcionales APIs para juegos 3D, multimedia Perfiles MIDP Configuración CLDC JVM (Java Virtual Machine)AMS (Application Management Software) Sistema Operativo
    • 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 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.
    • Ciclo de vida de un MIDlet AMS Application Management Software new()* startApp()Paused Active pauseApp()destroyApp() destroyApp() Destroyed
    • 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)
    • 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
    • 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
    • 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
    • Importando paquetes
    • 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
    • Bases de la GUI
    • 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
    • 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);
    • 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");
    • Interfaz grafica de UsuarioDisplay display; Form form;display= Display.getDisplay(this); form = new Form("Titulo Form"); display form display.setCurrent(form)
    • Código Actividad 1
    • Emulador
    • Actividad 2Sistema de Login
    • Desarrollo de la actividadAplicación Aplicación Aplicación de de Móvil Consola escritorio
    • 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);
    • 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);
    • 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);
    • 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 } }
    • 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)
    • 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);
    • Material elaborado por:Anderson Rubio andersonrubioquintero@gmail.com @anderblackhawk www.andersonrubio.com