SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Java ME (Micro Edition)
Es una plataforma orientada a proveer una
colección de APIs de desarrollo de software para
dispositivos móviles.


*Teléfonos celulares (Feature phones)
*Apps para BlackBerry (gracias a la
BlackBerry® Java® Virtual Machine)
Java ME (Micro Edition)
Características

*Flexibilidad en la creación de interfaces gráficas
*Variedad de APIs para distintos dispositivos de
acuerdo a sus recursos y capacidades.
*Seguridad
*Soporte para aplicaciones que utilizan SMS o
Internet
*Multiplataforma
MIDlets
Las aplicaciones Java ME, se denominan MIDlets

<<Así como se le llama APPLET , a
una aplicación que corre en un
navegador web>>


La gran mayoría de
MIDlets desarrollados, son
juegos para celulares, que
implementan APIs para el
manejo 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 .jad
que 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 1




Hola Mundo!
Instalación del IDE y
   complementos
Creación del proyecto
Ciclo de vida de un MIDlet
Los dispositivos móviles (ya sea emulador o uno real), interactúa con un
MIDlet a través de su propio software, llamado Application Management
Software (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 podemos
ubicar 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 Paused
En este estado el MIDlet está esperando por ser pasar al estado ACTIVE
y no consume recursos del dispositivo.


Causas
-Cuando se llama el método pauseApp()
-Cuando el ASM exige recursos del teléfono (por ejemplo, cuando el
teléfono recibe una llamada entrante. EL ASM invoca el método
pauseApp() ).
-Cuando se dispara MIDletStateChangeException (En caso de un error, se
pone en estado PAUSED)
Estado Active
En este estado el MIDlet la aplicación ejecuta todas sus funciones



Causas
-Cuando se inicia la aplicación (El AMS permite crear una nueva instancia
de 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 a
Active
Estado Destroy
Se puede destruir una aplicación que esté tanto en estado ACTIVE como
PAUSED. Al destruir, lo que hacemos es eliminar la instancia creada, pero
no 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 completamente
necesario destruir la aplicación o no

*true - La aplicación se destruirá obligatoriamente, independientemente de lo que este
haciendo.

*false - La aplicación se destruirá, siempre y cuando, NO esté haciendo nada importante, si se
encuentra ejecutando algún proceso importante, se dispara MIDletStateChangeException
Secuencia de eventos

                             Dispositivo libre                                 El usuario
            Usuario inicia                        Llamada      Finalización
Evento                        para iniciar la                                 desea cerrar
            la Aplicación         App             entrante    de la llamada
                                                                                la App


Método Constructor()
ejecutado
                             startApp()          pauseApp()   startApp()      destroyApp()



Estado       Paused             Active            Paused          Active      Destroyed


                                           Secuencia de eventos
Importando paquetes
Paquetes fundamentales

javax.microedition.midlet
       Nos provee la clase MIDlet


javax.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 Displayable
Elemento     Administrador                  (Contenedor)

Clase               Display                        Form
Clase Display
Representa el administrador para la visualización correcta del MIDlet y la
entrada desde el dispositivo.

Provee métodos para obtener información sobre las capacidades del
dispositivo.

• isColor()
• numColors()
• numAlphaLevels()

Creación de un objeto tipo Display

                 Display display;
                 display= Display.getDisplay(this);
Clase Form
Es 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 Item


Creación de un objeto tipo Form

                  Form form;
                  form = new Form("Titulo Form");
Interfaz grafica de Usuario


Display display;                     Form form;
display= Display.getDisplay(this);   form = new Form("Titulo Form");




            display                                form


                     display.setCurrent(form)
Código Actividad 1
Emulador
Actividad 2




Sistema de Login
Desarrollo de la actividad



Aplicació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
                                   •   URL

Constructor

TextField(String label, String text, int maxSize, int constraints)

Ejemplo
      userName = new TextField("LoginID:", "", 30, TextField.ANY);
Clase Image
Representa 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
  •    STOP
Constructor

       Command(String label, int commandType, int priority)

Agregándolo al Form
      form.addCommand(cancel);
Interface CommandListener
CommandListener asociado con el Displayable, es el que define en
realidad que acción se llevo a cabo.

Asociándolo al Form
                  form.setCommandListener(this);


Identificando el evento

public 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 SE

Constructor para un Alert vacío

              Alert(String title)

 Constructor para un Alert completo

Alert(String title, String alertText, Image alertImage, AlertType alertType)
Clase Alert
 Ejemplo constructor
Alert 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

Weitere ähnliche Inhalte

Was ist angesagt?

Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Javier Rubiano Quiroga
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming BasicsEueung Mulyana
 
iOS Architecture
iOS ArchitectureiOS Architecture
iOS ArchitectureJacky Lian
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Modelo de datos orientado a objetos J
Modelo de datos orientado a objetos  JModelo de datos orientado a objetos  J
Modelo de datos orientado a objetos JJairo Cocha
 
Fundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosFundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosMarines Ahuanlla
 
Mapa Mental de Java
Mapa Mental de JavaMapa Mental de Java
Mapa Mental de JavaMario578
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Joan Manuel Zabala
 
Desarrollo SW Basado en Componentes
Desarrollo SW Basado en ComponentesDesarrollo SW Basado en Componentes
Desarrollo SW Basado en Componentestoryneutral
 
Desarrollo de Interfaces de Usuario Basadas en Modelos
Desarrollo de Interfaces de Usuario Basadas en ModelosDesarrollo de Interfaces de Usuario Basadas en Modelos
Desarrollo de Interfaces de Usuario Basadas en ModelosJuan Manuel Gonzalez Calleros
 
iOS: Overview, Architecture, Development & Versions
iOS: Overview, Architecture, Development & Versions iOS: Overview, Architecture, Development & Versions
iOS: Overview, Architecture, Development & Versions Sandra Kerbage
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Androidguest213e237
 
Android Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver TutorialAndroid Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver TutorialAhsanul Karim
 
Diagrama De Secuencia
Diagrama De SecuenciaDiagrama De Secuencia
Diagrama De SecuenciaRafael
 

Was ist angesagt? (20)

Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
 
iOS Architecture
iOS ArchitectureiOS Architecture
iOS Architecture
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
Modelo de datos orientado a objetos J
Modelo de datos orientado a objetos  JModelo de datos orientado a objetos  J
Modelo de datos orientado a objetos J
 
Presentacion Patrones Creacionales
Presentacion Patrones CreacionalesPresentacion Patrones Creacionales
Presentacion Patrones Creacionales
 
Fundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosFundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a Objetos
 
Mapa Mental de Java
Mapa Mental de JavaMapa Mental de Java
Mapa Mental de Java
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
 
Desarrollo SW Basado en Componentes
Desarrollo SW Basado en ComponentesDesarrollo SW Basado en Componentes
Desarrollo SW Basado en Componentes
 
Desarrollo de Interfaces de Usuario Basadas en Modelos
Desarrollo de Interfaces de Usuario Basadas en ModelosDesarrollo de Interfaces de Usuario Basadas en Modelos
Desarrollo de Interfaces de Usuario Basadas en Modelos
 
iOS: Overview, Architecture, Development & Versions
iOS: Overview, Architecture, Development & Versions iOS: Overview, Architecture, Development & Versions
iOS: Overview, Architecture, Development & Versions
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Uml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_usoUml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_uso
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 
Java Micro Edition "J2ME"
Java Micro Edition "J2ME"Java Micro Edition "J2ME"
Java Micro Edition "J2ME"
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
 
Android Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver TutorialAndroid Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver Tutorial
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Diagrama De Secuencia
Diagrama De SecuenciaDiagrama De Secuencia
Diagrama De Secuencia
 

Ähnlich wie Java ME (Micro Edition)

Unidad jme-02--ingbarcia-final
Unidad jme-02--ingbarcia-finalUnidad jme-02--ingbarcia-final
Unidad jme-02--ingbarcia-finalOrlando Barcia
 
Taller de programación
Taller de programaciónTaller de programación
Taller de programaciónRafa Perez
 
2da clase moviles_jme_alert_form_text_field_so_uch
2da clase moviles_jme_alert_form_text_field_so_uch2da clase moviles_jme_alert_form_text_field_so_uch
2da clase moviles_jme_alert_form_text_field_so_uchepalomino2012
 
Interfaces Usuario 3
Interfaces Usuario 3Interfaces Usuario 3
Interfaces Usuario 3Milaly
 
Fundamentos vb
Fundamentos vbFundamentos vb
Fundamentos vbvalerin01
 
Planteamiento de-ejercicios-2011
Planteamiento de-ejercicios-2011Planteamiento de-ejercicios-2011
Planteamiento de-ejercicios-2011Orlando Barcia
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Androidjezabelink
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netAntonio Palomares Sender
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersJavier Suárez Ruiz
 
Plataforma moviles ernesto horna
Plataforma moviles ernesto hornaPlataforma moviles ernesto horna
Plataforma moviles ernesto hornaLuis Rengifo Torres
 
Xamarin - Aplicaciones Móviles con .Net
Xamarin - Aplicaciones Móviles con .Net Xamarin - Aplicaciones Móviles con .Net
Xamarin - Aplicaciones Móviles con .Net Andrés Londoño
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Sorey García
 
Spring OSGI , dm server - Leonardo Torres Altez
Spring OSGI , dm server - Leonardo Torres AltezSpring OSGI , dm server - Leonardo Torres Altez
Spring OSGI , dm server - Leonardo Torres Alteza19987225
 

Ähnlich wie Java ME (Micro Edition) (20)

Unidad jme-02--ingbarcia-final
Unidad jme-02--ingbarcia-finalUnidad jme-02--ingbarcia-final
Unidad jme-02--ingbarcia-final
 
Mi dlet
Mi dletMi dlet
Mi dlet
 
Taller de programación
Taller de programaciónTaller de programación
Taller de programación
 
2da clase moviles_jme_alert_form_text_field_so_uch
2da clase moviles_jme_alert_form_text_field_so_uch2da clase moviles_jme_alert_form_text_field_so_uch
2da clase moviles_jme_alert_form_text_field_so_uch
 
Clase celulares
Clase celularesClase celulares
Clase celulares
 
J2me midlet1
J2me  midlet1J2me  midlet1
J2me midlet1
 
Interfaces Usuario 3
Interfaces Usuario 3Interfaces Usuario 3
Interfaces Usuario 3
 
Fundamentos vb
Fundamentos vbFundamentos vb
Fundamentos vb
 
Planteamiento de-ejercicios-2011
Planteamiento de-ejercicios-2011Planteamiento de-ejercicios-2011
Planteamiento de-ejercicios-2011
 
JAVA Interfaz gráfica (GUI)
JAVA Interfaz gráfica (GUI)JAVA Interfaz gráfica (GUI)
JAVA Interfaz gráfica (GUI)
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Android
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .net
 
Android bootcamp 101 v2.0
Android bootcamp 101 v2.0Android bootcamp 101 v2.0
Android bootcamp 101 v2.0
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI Handlers
 
Plataforma moviles ernesto horna
Plataforma moviles ernesto hornaPlataforma moviles ernesto horna
Plataforma moviles ernesto horna
 
Xamarin - Aplicaciones Móviles con .Net
Xamarin - Aplicaciones Móviles con .Net Xamarin - Aplicaciones Móviles con .Net
Xamarin - Aplicaciones Móviles con .Net
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
 
Enclausulamiento java
Enclausulamiento javaEnclausulamiento java
Enclausulamiento java
 
Java tema06a
Java tema06aJava tema06a
Java tema06a
 
Spring OSGI , dm server - Leonardo Torres Altez
Spring OSGI , dm server - Leonardo Torres AltezSpring OSGI , dm server - Leonardo Torres Altez
Spring OSGI , dm server - Leonardo Torres Altez
 

Kürzlich hochgeladen

DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxDESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxMARCOSMARTINALACAYOP1
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxJunkotantik
 
cuadernillo_cuentos_de_los_valores_elprofe20 (1).docx
cuadernillo_cuentos_de_los_valores_elprofe20 (1).docxcuadernillo_cuentos_de_los_valores_elprofe20 (1).docx
cuadernillo_cuentos_de_los_valores_elprofe20 (1).docxANDREAGRACEDURANSALA
 
Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024sergeycrastz06
 
a propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionesa propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionessubfabian
 
IMPLICACIONES BIOÉTICAS ANTE EL TRANSHUMANISMO A PARTIR DEL PENSAMIENTO FILOS...
IMPLICACIONES BIOÉTICAS ANTE EL TRANSHUMANISMO A PARTIR DEL PENSAMIENTO FILOS...IMPLICACIONES BIOÉTICAS ANTE EL TRANSHUMANISMO A PARTIR DEL PENSAMIENTO FILOS...
IMPLICACIONES BIOÉTICAS ANTE EL TRANSHUMANISMO A PARTIR DEL PENSAMIENTO FILOS...Andrés Canale
 
Época colonial: vestimenta, costumbres y juegos de la época
Época colonial: vestimenta, costumbres y juegos de la épocaÉpoca colonial: vestimenta, costumbres y juegos de la época
Época colonial: vestimenta, costumbres y juegos de la épocacecifranco1981
 
Tema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxTema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxNoe Castillo
 
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...harolbustamante1
 
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativoharolbustamante1
 
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docxENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docxmatepura
 
proyecto semana de los Jardines, actividades a realizar para resaltar esta fecha
proyecto semana de los Jardines, actividades a realizar para resaltar esta fechaproyecto semana de los Jardines, actividades a realizar para resaltar esta fecha
proyecto semana de los Jardines, actividades a realizar para resaltar esta fechanitoagurto67
 
A propósito de la globalización y la financiarización del mundo
A propósito de la globalización y la financiarización del mundoA propósito de la globalización y la financiarización del mundo
A propósito de la globalización y la financiarización del mundosubfabian
 
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfRESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfANEP - DETP
 
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)JonathanCovena1
 
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxSISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxgesicavillanuevaqf
 
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSALLA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSALJorge Castillo
 

Kürzlich hochgeladen (20)

DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxDESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
 
cuadernillo_cuentos_de_los_valores_elprofe20 (1).docx
cuadernillo_cuentos_de_los_valores_elprofe20 (1).docxcuadernillo_cuentos_de_los_valores_elprofe20 (1).docx
cuadernillo_cuentos_de_los_valores_elprofe20 (1).docx
 
Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024Seguridad y virus informáticos 12°B 2024
Seguridad y virus informáticos 12°B 2024
 
a propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionesa propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definiciones
 
IMPLICACIONES BIOÉTICAS ANTE EL TRANSHUMANISMO A PARTIR DEL PENSAMIENTO FILOS...
IMPLICACIONES BIOÉTICAS ANTE EL TRANSHUMANISMO A PARTIR DEL PENSAMIENTO FILOS...IMPLICACIONES BIOÉTICAS ANTE EL TRANSHUMANISMO A PARTIR DEL PENSAMIENTO FILOS...
IMPLICACIONES BIOÉTICAS ANTE EL TRANSHUMANISMO A PARTIR DEL PENSAMIENTO FILOS...
 
Época colonial: vestimenta, costumbres y juegos de la época
Época colonial: vestimenta, costumbres y juegos de la épocaÉpoca colonial: vestimenta, costumbres y juegos de la época
Época colonial: vestimenta, costumbres y juegos de la época
 
Tema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxTema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptx
 
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
📝 Semana 09 - Tema 01: Tarea - Aplicación del resumen como estrategia de fuen...
 
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
 
La historia de la vida estudiantil a 102 años de la fundación de las Normales...
La historia de la vida estudiantil a 102 años de la fundación de las Normales...La historia de la vida estudiantil a 102 años de la fundación de las Normales...
La historia de la vida estudiantil a 102 años de la fundación de las Normales...
 
Sesión de clase: Luz desde el santuario.pdf
Sesión de clase: Luz desde el santuario.pdfSesión de clase: Luz desde el santuario.pdf
Sesión de clase: Luz desde el santuario.pdf
 
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docxENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
 
proyecto semana de los Jardines, actividades a realizar para resaltar esta fecha
proyecto semana de los Jardines, actividades a realizar para resaltar esta fechaproyecto semana de los Jardines, actividades a realizar para resaltar esta fecha
proyecto semana de los Jardines, actividades a realizar para resaltar esta fecha
 
A propósito de la globalización y la financiarización del mundo
A propósito de la globalización y la financiarización del mundoA propósito de la globalización y la financiarización del mundo
A propósito de la globalización y la financiarización del mundo
 
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfRESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
 
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
 
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxSISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
 
Power Point: Luz desde el santuario.pptx
Power Point: Luz desde el santuario.pptxPower Point: Luz desde el santuario.pptx
Power Point: Luz desde el santuario.pptx
 
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSALLA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
 

Java ME (Micro Edition)

  • 1. Java ME (Micro Edition) Es una plataforma orientada a proveer una colección de APIs de desarrollo de software para dispositivos móviles. *Teléfonos celulares (Feature phones) *Apps para BlackBerry (gracias a la BlackBerry® 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 de acuerdo a sus recursos y capacidades. *Seguridad *Soporte para aplicaciones que utilizan SMS o Internet *Multiplataforma
  • 3. MIDlets Las aplicaciones Java ME, se denominan MIDlets <<Así como se le llama APPLET , a una aplicación que corre en un navegador web>> La gran mayoría de MIDlets desarrollados, son juegos para celulares, que implementan APIs para el manejo 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 .jad que 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
  • 8. Instalación del IDE y complementos
  • 10. Ciclo de vida de un MIDlet Los dispositivos móviles (ya sea emulador o uno real), interactúa con un MIDlet a través de su propio software, llamado Application Management Software (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 podemos ubicar 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 Paused En este estado el MIDlet está esperando por ser pasar al estado ACTIVE y no consume recursos del dispositivo. Causas -Cuando se llama el método pauseApp() -Cuando el ASM exige recursos del teléfono (por ejemplo, cuando el teléfono recibe una llamada entrante. EL ASM invoca el método pauseApp() ). -Cuando se dispara MIDletStateChangeException (En caso de un error, se pone en estado PAUSED)
  • 13. Estado Active En este estado el MIDlet la aplicación ejecuta todas sus funciones Causas -Cuando se inicia la aplicación (El AMS permite crear una nueva instancia de 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 a Active
  • 14. Estado Destroy Se puede destruir una aplicación que esté tanto en estado ACTIVE como PAUSED. Al destruir, lo que hacemos es eliminar la instancia creada, pero no 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 completamente necesario destruir la aplicación o no *true - La aplicación se destruirá obligatoriamente, independientemente de lo que este haciendo. *false - La aplicación se destruirá, siempre y cuando, NO esté haciendo nada importante, si se encuentra ejecutando algún proceso importante, se dispara MIDletStateChangeException
  • 15. Secuencia de eventos Dispositivo libre El usuario Usuario inicia Llamada Finalización Evento para iniciar la desea cerrar la Aplicación App entrante de la llamada la App Método Constructor() ejecutado startApp() pauseApp() startApp() destroyApp() Estado Paused Active Paused Active Destroyed Secuencia de eventos
  • 17. Paquetes fundamentales javax.microedition.midlet Nos provee la clase MIDlet javax.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 Displayable Elemento Administrador (Contenedor) Clase Display Form
  • 20. Clase Display Representa el administrador para la visualización correcta del MIDlet y la entrada desde el dispositivo. Provee métodos para obtener información sobre las capacidades del dispositivo. • isColor() • numColors() • numAlphaLevels() Creación de un objeto tipo Display Display display; display= Display.getDisplay(this);
  • 21. Clase Form Es 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 Item Creación de un objeto tipo Form Form form; form = new Form("Titulo Form");
  • 22. Interfaz grafica de Usuario Display display; Form form; display= Display.getDisplay(this); form = new Form("Titulo Form"); display form display.setCurrent(form)
  • 26. Desarrollo de la actividad Aplicació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 • URL Constructor TextField(String label, String text, int maxSize, int constraints) Ejemplo userName = new TextField("LoginID:", "", 30, TextField.ANY);
  • 28. Clase Image Representa 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 • STOP Constructor Command(String label, int commandType, int priority) Agregándolo al Form form.addCommand(cancel);
  • 30. Interface CommandListener CommandListener asociado con el Displayable, es el que define en realidad que acción se llevo a cabo. Asociándolo al Form form.setCommandListener(this); Identificando el evento public 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 SE Constructor para un Alert vacío Alert(String title) Constructor para un Alert completo Alert(String title, String alertText, Image alertImage, AlertType alertType)
  • 32. Clase Alert Ejemplo constructor Alert 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