2. ANTECEDENTES
Hay tres diferentes entornos para el desarrollo y ejecución de
aplicaciones:
- JSE (Java Standard Edition)
- JEE (Java Enterprise Edition)
- JEE (Java Enterprise Edition)
4. JAVA MICRO EDITION
J2ME usa 37 clases de la plataforma J2SE provenientes de los paquetes
java.lang, java.io, java.util.
5. COMPONENTES
CONFIGURACIÓN PERFILES
Son clases basicas orientadas a Son unas bibliotecas Java de
conformar el corazon de las clases específicas orientadas a
implementaciones para implementar funcionalidades de
dispositivos de caracteristicas más alto nivel para familias
especificas. Existen 2
configuracion CLDC (Connected específicas de dispositivos.
Limited Device Configuration)
enfocada a dispositivos con
Profiles
J2ME
restricciones de procesamiento y Profile
memoria (celulares y PDAs), y
CDC (Connected Device J2ME
Configuration) enfocada a Libraries
Configuration
dispositivos con más recursos
(Televisores, controles remotos, Java Language
set top-box). Java Virtual Machine
Host Operating System
7. Kilobyte Virtual Machine
Su nombre KVM proviene de Kilobyte (haciendo referencia a la baja
ocupación de memoria, entre 40Kb y 80Kb).
Está escrita en lenguaje C, aproximadamente unas 24000 líneas de
código
8. KVM
Características Limitaciones
Pequeña, con una carga de No hay soporte para tipos
memoria entre los 40Kb y de datos float.
los 80 Kb, dependiendo de Limitada capacidad para el
la plataforma y las opciones manejo de excepciones.
de compilación.
• Alta portabilidad.
• Modulable.
• Lo más completa y rápida
posible.
9. KVM
La KVM puede ser compilada y probada en 3 plataformas distintas:
1. Solaris Operating Environment.
2. Windows
3. PalmOs
10. CLDC
Connected Limited Device Configuration. Esta orientada a
dispositivos de conexión y con limitaciones.
Los dispositivos que usan CLDC deben cumplir los siguientes
requisitos:
- Disponer entre 160 Kb y 512 Kb de memoria total disponible.
- Procesador de 16 o 32 bits con al menos 25 Mhz de velocidad.
- Ofrecer bajo consumo, debido a que estos dispositivos trabajan
con suministro de energía limitado.
11. Mantenimiento y Configuración
El mantenimiento recae sobre los perfiles.
Para la configuración CLDC tenemos la versión 1.0 y versión 1.1, siendo
la principal diferencia entre ellas, el que la versión 1.0 no trabaja con
valores de punto flotante, mientras que la segunda si. Los teléfonos que
tengan la versión 1.0 de la configuración CLDC no pueden trabajar con
tipos de datos como double, float.
13. Seguridad en CLDC
• Los ficheros de clases Java deben ser verificados como aplicaciones
Java válidas.
• Sólo se permite el uso de APIs autorizadas por CLDC.
• No está permitido cargar clases definidas por el usuario.
• Una aplicación ejecutada bajo KVM no debe ser capaz de dañar el
dispositivo dónde se encuentra.
14. MIDP
(Mobile Information Device Profile). Nos proporciona un perfil que se
apoya en CLDC y que nos va a proporcionar los paquetes y clases
necesarias para el desarrollo de nuestras aplicaciones.
16. MIDLETS
Es una aplicación Java realizada con el perfil MIDP sobre la
configuración CLDC.
El ciclo de vida de un MIDlet pasa por 5 fases.
Un MIDlet durante su ejecución pasa por 3 estados diferentes:
- Activo
- Pausa
- Destruido
17.
18. import javax.microedition.midlet.*;
public class MiMidlet extends MIDlet {
public MiMidlet() {
/* Éste es el constructor de clase. Aquí debemosinicializar nuestras variables.*/
}
public startApp(){
/* Aquí incluiremos el código que queremos que el MIDlet ejecute cuándo se active.*/
}
public pauseApp(){
/* Aquí incluiremos el código que queremos que el MIDlet ejecute cuándo entre en el estado de pausa
(Opcional) */
}
public destroyApp(){
/* Aquí incluiremos el código que queremos que el MIDlet ejecute cuándo sea destruido. Normalmente
aquí se liberaran los recursos ocupados por el MIDlet como memoria, etc. (Opcional) */
}
}
19. Interfaces Gráficas de Usuario
Interfaz de usuario de alto nivel.- Esta interfaz usa componentes tales
como botones, cajas de texto, formularios, etc.
Interfaz de usuario de bajo nivel.- Al crear una aplicación usando las APIs
de bajo nivel, tendremos un control total de lo que aparecerá por pantalla.