1 / 70

Java for Mobile Devices

Java for Mobile Devices. Department of Computer and System Instituto Tecnológico de Morelia jcolivar@itmorelia.edu.mx http://antares.itmorelia.edu.mx/~jcolivar/ @jcolivares. M.C. Juan Carlos Olivares Rojas. Disclaimer.

verdad
Download Presentation

Java for Mobile Devices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java for Mobile Devices Department of Computer and System Instituto Tecnológico de Morelia jcolivar@itmorelia.edu.mx http://antares.itmorelia.edu.mx/~jcolivar/ @jcolivares M.C. Juan Carlos Olivares Rojas

  2. Disclaimer Some material in this presentation has been obtained from various sources, each of which has intellectual property, so in this presentation will only have some rights reserved. These slides are free, so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on my part. In return for use, I only ask the following: if you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source.

  3. Objectives of theSession • The students will develop different kind of mobile applications usign J2ME framework aim with NetBeans Mobility Pack.

  4. JME • La edición Java 2 Micro Edition (J2ME) fue presentada en 1999 por Sun Microsystems con el propósito de habilitar aplicaciones Java para pequeños dispositivos. Ahora simplemente se llama JME • En esta presentación, lo que realmente se enseñó fue una primera versión de una nueva Java Virtual Machine (JVM) que podía ejecutarse en dispositivos Palm.

  5. JME • Java Micro Edition es la versión del lenguaje Java que está orientada al desarrollo de aplicaciones para dispositivos pequeños con capacidades restringidas tanto en pantalla gráfica, como de procesamiento y memoria (teléfonos móviles, PDA’s, Handhelds, Pagers, etc).

  6. Versiones de Java

  7. JME • Un entorno de ejecución de J2ME se compone de: • Máquina virtual. • Configuración. • Perfil. • Paquetes Opcionales.

  8. JME • Las diferentes tecnologías Java comparten un conjunto más o menos amplio de APIs básicas del lenguaje, agrupadas principalmente en los paquetes java.lang y java.io. • JME contiene una mínima parte de las APIs de Java. JME usa 37 clases de la plataforma JSE provenientes de los paquetes java.lang, java.io, java.util.

  9. JME • J2ME a diferencia de J2SE utiliza una máquina virtual distinta de la clásica JVM denominada KVM. • Esta KVM tiene unas restricciones que hacen que no posea todas las capacidades incluidas en la JVM. J2ME es un subconjunto de J2SE (excepto por el paquete javax.microedition).

  10. JME • Las configuraciones, que son un conjunto de clases básicas orientadas a conformar el corazón de las implementaciones para dispositivos de características específicas. Existen 2 configuraciones definidas en J2ME: • Connected Limited Device Configuration (CLDC) enfocada a dispositivos con restricciones de procesamiento y memoria. La VM (Virtual Machine) de la configuración CLDC se denomina KVM.

  11. JME • Connected Device Configuration (CDC) enfocada a dispositivos con más recursos. La VM (Virtual Machine) de la CDC se denomina CVM.

  12. JME • No hay soporte para tipos de punto flotante, no existen los tipos double ni float (MIDP 1.1). • No existe soporte para JNI (Java Native Interface). • Limitada capacidad para el manejo de excepciones • Reflexión.

  13. JME

  14. JME • La CVM (Compact Virtual Machine) ha sido tomada como Máquina Virtual Java de referencia para la configuración CDC y soporta las mismas características que la Máquina Virtual de J2SE. • Está orientada a dispositivos electrónicos con procesadores de 32 bits de gama alta y en torno a 2Mb o más de memoria RAM.

  15. JME

  16. JME

  17. JME • Los perfiles identifican un grupo de dispositivos por la funcionalidad que proporcionan (electrodomésticos, teléfonos móviles, etc.) y el tipo de aplicaciones que se ejecutarán en ellos. • Las librerías de la interfaz gráfica son un componente muy importante en la definición de un perfil. Aquí nos podemos encontrar grandes diferencias entre interfaces, desde el menú textual de los teléfonos móviles hasta los táctiles de los PDAs.

  18. JME • Para la configuración CDC tenemos los siguientes perfiles: • Foundation Profile. • Personal Profile. • RMI Profile. • Para la configuración CLDC tenemos los siguientes: • PDA Profile. • Mobile Information Device Profile (MIDP).

  19. JME

  20. JME

  21. JME

  22. JME • El proceso para llevar a cabo la creación de un MIDlet es el siguiente: • Crear el MIDlet • Escribir el código y compilar. • Preverificar el código. • Empaquetar en JAR y crear el archivo JAD. • Ejecutar el emulador.

  23. JME • Las aplicaciones MIDP deben implementar los siguientes tres métodos: • startApp (): Este método es utilizado para la ejecución del MIDlet. Su objetivo es ejecutar la aplicación y solicitar recursos. • pauseApp (): Este método es invocado por el sistema para solicitarle al MIDlet que haga una pausa. Libera los recursos adquiridos por el método starApp ().

  24. JME • destroyApp (boolean unconditional): Este método es llamado por el sistema antes de que sea destruido el MIDlet. Además libera todos los recursos adquiridos. • Los MIDlets son empaquetados en carpetas .JAR junto a imágenes, logos, para formar una MIDlet suite.

  25. JME

  26. JME • Cada archivo .JAR lleva asociado un archivo .JAD (Java Application Descriptor, Descriptor de Aplicación Java) que es utilizado para gestionar la instalación. • El archivo .JAM (Java Application Manager, Manejador de Aplicaciones Java) es el encargado de gestionar la descarga y la instalación de los MIDlets.

  27. JME • Los MIDlets tienen atributos obligatorios y opcionales

  28. JME • Para poder instalar un MIDlet en un teléfono celular del cliente se siguen los siguientes pasos: • Paso 1: El Cliente pide el archivo JAD. • Paso 2: El fichero JAD es descargado al Cliente. • Paso 3: El JAM verifica el archivo JAD. • Paso 4: Se descarga la MIDlet suite al Cliente.

  29. JME

  30. JME

  31. JME

  32. JME import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class hola extends MIDlet { private Display pantalla; private Form formulario = null; public hola() { pantalla = Display.getDisplay(this); formulario = new Form("Hola Mundo"); }

  33. JME public void startApp(){ pantalla.setCurrent(formulario); } public void pauseApp(){ } public void destroyApp(boolean unconditional){ pantalla = null; formulario = null; notifyDestroyed(); } }

  34. JME • La clase Display representa el manejador de la pantalla y los dispositivos de entrada. • Todo MIDlet debe poseer por lo menos un objeto Display. • En este objeto Display podemos incluir tantos objetos Displayable como queramos.

  35. JME • La clase Display puede obtener información sobre las características de la pantalla del dispositivo donde se ejecute el MIDlet, además de ser capaz de mostrar los objetos que componen nuestras interfaces. • Todo MIDlet debe poseer al menos una instancia del objeto Display. Para obtenerla se utiliza: • Display pantalla = Display.getDisplay(this)

  36. JME • Dentro del método startApp tendremos que hacer referencia a la pantalla que queramos que esté activa haciendo uso del método: setCurrent() • Hay que tener en cuenta que cada vez que salimos del método pauseApp, entramos en el método startApp, por lo que la construcción de las pantallas y demás elementos que formarán parte de nuestro MIDlet la tendremos que hacer en el método constructor.

  37. JME

  38. JME

  39. javax.microedition.lcdui • Interfaces: • Choice • CommandListener • ItemCommandListener • ItemStateListener

  40. javax.microedition.lcddui • Alert • AlertType • Canvas • ChoiceGroup • Command • CustomItem • DateField • Display • Displayable

  41. javax.microedition.lcdui • Font • Form • Gauge • Graphics • Image • ImageItem • Item • List • Screen

  42. javax.microedition.lcdui • Spacer • StringItem • TextBox • TextField • Ticket

  43. javax.microedition.lcdui.game • GameCanvas • Layer • LayerManager • Sprite • TiledLayer • Los IDEs más recientes nos permiten mostrar información de las clases y objetos a través de etiquetas inteligentes.

  44. Programa • Realización de un programa que permita calcular áreas de las siguientes figuras geométricas: triangulo, cuadrado, rectángulo, trapecio, circulo. • Realizar un programa que permita acortar URL y que a su vez pueda recuperarlas de forma automática (no secuencial)

  45. JME • Muchas de las funcionalidades básicas de Java se pueden implantar de manera directa en JME como el manejo de primitivas gráficas. • La clase más básica es la Graphics, la cual tiene métodos que nos permiten dibujar sobre un lienzo Canvas.

  46. JME • Generalmente se utilizan dentro del método paint() de un Applet o de una aplicación gráfica. • Los métodos repaint() y update son variantes del método paint().

  47. JME • El método repaint() se utiliza cuando se desea volver a dibujar la pantalla (lo cual es muy frecuente en los sistemas gráficos multitarea) y dibuja toda la pantalla. El método update() sólo actualiza una región de la pantalla. Muy utilizado en componentes gráficos como botones o listas desplegables.

  48. JME • La clase Graphics se encuentra dentro del paquete java.awt.*; • El método drawString() permite dibujar una cadena de texto en la pantalla. • El método drawLine() dibuja una línea en la pantalla. El método drawRectangle() permite dibujar un rectángulo en pantalla.

  49. JME • El método drawOval permite definir óvalos y circulos. El método drawImage() permite mostrar imágenes en pantallas. • El método clearRect() permite borrar un área de la pantalla. El método copyArea() copia un área de memoria. Esto se utiliza en los métodos de recorte (clip). • Métodos como drawPolygon y drawPolyline() permiten definir figuras más elaboradas.

  50. JME • Los métodos que inician con fill, como fillOval(), fillRect(), etc., realizan las mismas figuras pero pintan el relleno de las figuras. • Otros elementos a considerar para el manejo de gráficos son el color y las fuentes (tipos de letras). Java define clases para manipular estos objetos gráficos de manera amplia.

More Related