Download 5.1 Diferencias con Java ME: Arquitectura
Document related concepts
no text concepts found
Transcript
5.1 Diferencias con Java ME: Arquitectura - Software de Comunicaciones Software de Comunicaciones Programación en dispositivos móviles portables Search this site Programación en dispositivos móviles portables > Android > 5. Android vs Java ME > 5.1 Diferencias con Java ME: Arquitectura Java ME Android 1. Introducción La comparativa que se expone a continuación está centrada en la arquitectura específica MIDP/CLDC/KVM (CLDC 1.1 2. Conceptos Generales y MIDP 2.0), respecto al SO Android 1.6. 3. Librerías Básicas 4. Desarrollo de aplicaciones 5. Android vs Java ME ■ Librerías y Descriptores 6. Referencias → APIS que controlan el ciclo de vida de la aplicación. Móviles Android en el Mercado ANDROID: Principalmente se usan android.app.Activity y android.app.ListActivity. Palm webOS 1. ¿Qué es Palm Web Os? 2. Generalidades 3. Desarrollo de aplicaciones 4. J2ME vs Palm webOS 5. Futuro MIDP/CLDC: Principalmente se usa javax.microedition.midlet.MIDLET . → APIS que definen la interfaz de usuario de la aplicación. --> Alto Nivel ANDROID: Principalmente se usan android.widget.ArrayAdapter y android.widget.ListAdapter 6. Referencias iPhoneOS MIDP/CLDC: Esencialmente son javax.microedition.lcdui.Display y 1. Introducción javax.microedition.lcdui.Displayable 2. Generalidades --> Bajo Nivel 3. Desarrollo de aplicaciones ANDROID: Principalmente se usan android.graphics.drawable.Drawable y android.view.View 4. Comparativa con JavaME MIDP/CLDC: Esencialmente son javax.microedition.lcdui.game.GameCanvas y 4. Referencias javax.microedition.lcdui.Displayable.Canvas Files Join Our Discussion → APIS media: Bluetooth, Multimedia y sensores. --> Bluetooth ANDROID: Android ofrece la siguiente librería para usar esta interfaz, android.bluetooth . MIDP/CLDC: CLDC tiene un paquete opcional para usar Bluetooth (JSR 82): “Bluetooth API”. Traductor de Google --> Multimedia ANDROID: Ofrece la siguiente librería para reproducción de audio y vídeo, android.media: MediaPlayer . Join the Discussion MIDP/CLDC: CLDC ofrece el paquete opcional “MMAPI” y un soporte básico en la API de MIDP 2.0: Manager , Player y Control en los paquetes javax.microedition.media y javax.microedition.media.control . --> Sensores y acelerómetro ANDROID:Android proporciona la clase android.hardware.SensorManager, la cual sirve para manejar el sensor de https://sites.google.com/site/swcuc3m/home/android/android_javame/diff[22/07/2013 03:32:44 p.m.] 5.1 Diferencias con Java ME: Arquitectura - Software de Comunicaciones orientación, y el acelerómetro. MIDP/CLDC: CLDC tiene un paquete opcional para gestionar los sensores conectados al móvil (JSR 256): “Mobile Sensor API”. → Descriptores. ANDROID: AndroidManifest.xml Los componentes que necesita la aplicación se enumeran en un archivo llamado AndroidManifest.xml, el cual es un fichero XML donde se declaran los componentes y cuáles son sus capacidades y requerimientos. MIDP/CLDC: Descriptor JAD Permite describir las propiedades de la aplicación y los componentes que forman parte de la misma. De esta manera, el AMS (Application Management System) podrá verificar si es posible instalar la aplicación antes de descargarla. Es un fichero de texto con extensión .jad. ■ Arquitectura: Ciclo de vida de la aplicación ANDROID: En Android existen 4 grandes bloques de construcción: Activity, Intent , Service y Content Provider, de los cuales, el bloque Activity es el componente más habitual de las aplicaciones para Android, es decir, un componente Activity refleja una determinada actividad llevada a cabo por una aplicación, y que lleva asociada típicamente una ventana o interfaz de usuario. Los cuatro posibles estados que definen su ciclo de vida son: Activa, pausada, parada y reiniciada. MIDP/CLDC: La clase encargada del ciclo de vida de una aplicación, es la clase MIDlet , y los métodos que gestionan el ciclo de vida de una aplicación son tres: activa, pausada y destruida. ■ Máquina Virtuales: KVM y CVM (Java ME) vs. Dalvik (Android) ANDROID:La JVM que utiliza Android es la máquina virtual DalvikVM. En ella podemos encontrar una gran diferencia con respecto a la máquina virtual Java (JVM), ya que la máquina virtual de Google no está basada en una pila. MIDP/CLDC: En el perfil MIDP, la JVM es la máquina virtual KVM, la cual es la máquina virtual más pequeña desarrollada por Sun, y se usa con la configuración CLDC. Se trata de una implementación reducida y especialmente orientada a dispositivos con bajas capacidades computacionales y de memoria. ■ Herencia de interfaz ráfica de Java ANDROID: Android hereda las siguientes librerías de Java: · java.awt.font .* Para definir propiedades del estilo y tamaño de la letra. (Subconjunto de J2SE) · java.beans .*: Para definir beans con los métodos get y set.(Subconjunto de J2SE) · java.io .*: Conexión genérica. · java.lang .* Clases de la VM. (Subconjunto de J2SE) · java.math .* Para operaciones matemáticas. · java.nio .* Para definir buffers. · java.security .* Clases para definir el modelo de seguridad. (Subconjunto de J2SE) · java.sql .* API para usar JDBC y gestión de base de datos con SQL. · java.text .* Para definir diferentes formatos de texto. · java.util .* Clases para utilidades estándar. (Subconjunto de J2SE) https://sites.google.com/site/swcuc3m/home/android/android_javame/diff[22/07/2013 03:32:44 p.m.] 5.1 Diferencias con Java ME: Arquitectura - Software de Comunicaciones · javax.crypto .* Clases para realizar operaciones criptográficas. · javax.microedition.khronos. * Clases orientadas a diseño de interfaces 3D. · javax.net .* Clases para aplicaciones de Red. (Subconjunto de J2SE) · javax.xml .* Para usar lenguaje XML en el Descriptor de la aplicación. MIDP/CLDC: El perfil MIDP, hereda las siguientes librerías de Java: · java.io. * Clases y paquetes estándar de E/S. (Subconjunto de J2SE) · java.lang .* Clases e interfaces de la VM. (Subconjunto de J2SE) · java.util .* Clases, interfaces y utilidades estándar. (Subconjunto de J2SE) Además, incorpora las siguientes tecnologías heredadas de Java: - SWING: El Perfil “Personal Profile” sobre CDC ofrece un perfil gráfico basado en AWT. - JDBC: Paquete opcional en CDC. - RMI: Paquete opcional en CDC. ■ Mensajería instantánea: SIP(Java ME) vs. XMPP(Android) ANDROID: Android ofrece una API para desarrollar protocolos de mensajería instantánea, concretamente XMPP (Extensible Messaging and Presence Protocol), protocolo de intercambio de mensajes basado en XML. MIDP/CLDC: Java ME con el perfil MIDP ofrece un paquete opcional para utilizar protocolos de mensajería instantánea, concretamente SIP (Session Initition Protocol). ■ Almacenamiento de Datos: RMS(Java ME) vs. SQLite(Android) ANDROID: Android ofrece la superclase android.content.ContentProvider para el manejo y almacenamiento de datos, conocido también como “proveedor de contenido”. Este bloque de construcción, permite compartir datos entre procesos y aplicaciones. Además, Android soporta BBDD SQLite y proporciona funciones de control que permiten almacenar datos complejos en forma de objeto. MIDP/CLDC: MIDP ofrece la librería javax.microedition.rms para memoria persistente, lo cual consiste en una base de datos binaria sencilla (sin usar SQL) orientada a almacenes de registros ( RecordStore ). ■ Navegador (Java ME) vs. WebKit (Android) ANDROID: El SO Android dispone de un navegador integrado basado en el motor del proyecto abierto WebKit. MIDP/CLDC: CLDC ofrece la posibilidad de desarrollar clientes web con “Web Services APIs”. ■ Portabilidad de Aplicaciones ANDROID: En este ámbito, Java ME tiene una enorme ventaja sobre Android, ya que tiene una VM “totalmente Java”, mientras que la VMde Google (Dalvik), a pesar de sus grandes ventajas ya comentadas, hace que la migración de una aplicación open-source de Linux x86 sea realmente dura. Todos los interfaces de usuario y la lógica han de ser reescritos https://sites.google.com/site/swcuc3m/home/android/android_javame/diff[22/07/2013 03:32:44 p.m.] 5.1 Diferencias con Java ME: Arquitectura - Software de Comunicaciones desde cero. MIDP/CLDC: La existencia de diferentes perfiles en Java ME consiguen garantizar la portabilidad de las aplicaciones, que utilizan un API no tan complejo y extenso como en el caso de Android, pero suficiente para que el código sea portable entre diferentes dispositivos móviles. ¿Puede ejecutarse un Proyecto Java ME en un móvil con ANDROID? Claro que si, usando MicroEmu (Emulador de J2ME hecho en Java) o bien con el J2ME MIDP Runner. Si se tiene interés en este tema, se recomienda meterse en el foro del grupo de desarrolladores de Google, en el siguiente enlace: http://groups.google.es/group/desarrolladores-android/web Comentarios No tienes permiso para agregar comentarios. Iniciar sesión | Informar de uso inadecuado | Imprimir página | Eliminar acceso | Con la tecnología de Google Sites https://sites.google.com/site/swcuc3m/home/android/android_javame/diff[22/07/2013 03:32:44 p.m.]