SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareWilfredo Mogollón
 
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTAS
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTASAPLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTAS
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTASSaul Mamani
 
Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Miguel Miranda
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Tabla comparativa de herramientas case oswaldo mauleon
Tabla comparativa de herramientas case oswaldo mauleon Tabla comparativa de herramientas case oswaldo mauleon
Tabla comparativa de herramientas case oswaldo mauleon oswaldoyuneri
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.Juan Ravi
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiCuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiJimmy Davila
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Sergio Sanchez
 
6. Administración de la Calidad de Software
6. Administración de la Calidad de Software6. Administración de la Calidad de Software
6. Administración de la Calidad de SoftwareMario A Moreno Rocha
 
Android estructura del Sistema Operativo
Android estructura del Sistema OperativoAndroid estructura del Sistema Operativo
Android estructura del Sistema OperativoJesus Jimenez
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividadesTerryJoss
 
Unidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietarioUnidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietarioSacro Undercrown
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniRAUL CHIPANA LARICO
 
Cuestionario uml y objetos zuli
Cuestionario uml y objetos zuliCuestionario uml y objetos zuli
Cuestionario uml y objetos zuliyuliethces
 

La actualidad más candente (20)

Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTAS
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTASAPLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTAS
APLICACIÓN DE SCRUM Y UML PARA EL DESARROLLO DE UN SISTEMA DE VENTAS
 
Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Tabla comparativa de herramientas case oswaldo mauleon
Tabla comparativa de herramientas case oswaldo mauleon Tabla comparativa de herramientas case oswaldo mauleon
Tabla comparativa de herramientas case oswaldo mauleon
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
 
UML - Analisis de Sistemas
UML - Analisis de SistemasUML - Analisis de Sistemas
UML - Analisis de Sistemas
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiCuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
 
6. Administración de la Calidad de Software
6. Administración de la Calidad de Software6. Administración de la Calidad de Software
6. Administración de la Calidad de Software
 
Android estructura del Sistema Operativo
Android estructura del Sistema OperativoAndroid estructura del Sistema Operativo
Android estructura del Sistema Operativo
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Estructura secuencial
Estructura secuencialEstructura secuencial
Estructura secuencial
 
Rational rose
Rational roseRational rose
Rational rose
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 
Unidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietarioUnidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietario
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
 
Cuestionario uml y objetos zuli
Cuestionario uml y objetos zuliCuestionario uml y objetos zuli
Cuestionario uml y objetos zuli
 

Similar a Java ME apps

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
 

Similar a Java ME apps (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
 

Último

EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 

Último (20)

Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 

Java ME apps

  • 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