Sie sind auf Seite 1von 22

JSR-179 Location API para J2ME: Posicionamiento geogrfico en nuestras aplicaciones (GPS)

Clase 1. 2. 3. 4. 5. 6. 7.

javax.microedition.localizacion.Location javax.microedition.localizacion.Orientation javax.microedition.localizacion.ProximityListener javax.microedition.localizacion.LandmarkStore.management javax.microedition.localizacion.LandmarkStore.read javax.microedition.localizacion.LandmarkStore.write javax.microedition.localizacion.LandmarkStore.category

J2ME, Java Wireless Message API (WMA)


El API est compuesto exclusivamente de interfaces ubicadas bajo el pquete javax.wireless.messaging. Estas interfaces son: javax.wireless.messaging.Message: Define la funcionalidad genrica de todos los tipos de mensajes. Permite: a. b. c. Especificar el destinatario del mensaje. public void setAddress(String Obtener el emisor del mensaje. public String getAddress() Obtener la fecha de envio del mensaje. java.util.Date getTimestamp()

addr)

javax.wireless.messaging.TextMessage: Representa a un mensaje de texto. Hereda la funcionalidad de javax.wireless.messaging.Message aadiendo los mtodos public void setPayloadText(String data) y public String getPayloadText() para especificar u obtener los datos del mensaje. javax.wireless.messaging.BinaryMessage: Representa a un mensaje binario. Hereda la funcionalidad de javax.wireless.messaging.Message aadiendo los mtodos public void setPayloadData(byte[] data) y public byte[] getPayloadData() para especificar u obtener los datos del mensaje. javax.wireless.messaging.MessageListener: Oyente de mensajes entrantes. Esta interfaz es til en javax.wireless.messaging.MessageConnection que funcionan en modo servidor. (Ser explicada ms adelante.) javax.wireless.messaging.MessageConnection: Interfaz a travs de la cual se realiza el envo y la recepcin de mensajes. (Ser explicada ms adelante.)

En J2ME, todas las comunicaciones que requieren los MIDLets con el exterior (Bluetooth, Socket, Http, etc.) se obtienen a travs la clase

javax.microedition.io.Connector que forma

parte del CLDC. Esta clase devuelve una instancia de una clase que implementa la interfaz

javax.microedition.io.Connection para el modo de comunicacin


deseada. Pues bien, la interface

javax.wireless.messaging.MessageConnection no es ms que un javax.microedition.io.Connection para comunicacin via SMS.

Mtodos de la clase:
public javax.wireless.messaging.Message newMessage(java.lang.String type, java.lang.String address) Crea un nuevo mensaje para ser enviado. En el argumento type especificamos el tipo de mensaje que deseamos enviar: MessageConnection.TEXT_MESSAGE para mensajes de texto MessageConnection.BINARY_MESSAGE para mensajes binarios. En el argumento address debemos especificar la direccin del destinatario del mensaje. Normalmente, su nmero de telfono. public int numberOfSegments(javax.wireless.messaging.Message msg) Devuelve el nmero de segmentos que son necesarios para enviar la informacin a travs de la red. Por ejemplo, si queremos enviar el Quijote via SMS pues seguro que son necesarios ms de un segmento (un segmento es igual a un SMS como lo conocen los usuarios) y este mtodo nos devolvera o bien un nmero grande o bien el valor 0 indicando que no se puede enviar la informacin deseada. public javax.wireless.messaging.Message receive() throws IOException, InterruptedIOException Devuelve un mensaje enviado a nuestra aplicacin. Hay que tener varias cosas importantes en mente: 1. 2. Es un mtodo bloqueante, por lo que generalmente deber ser invocado en un hilo distinto al hilo principal donde est ejecutandose el Midlet. Nuestra aplicacin es responsable de guardar la informacin recibida a memoria no voltil en caso de ser necesario.

public void send(javax.wireless.messaging.Message msg) throws IOException, InterruptedIOException Envia el mensaje al destinatario. Este mtodo debe ser invocado en un hilo distinto al hilo principal donde est ejecutandose el Midlet. Para especificar el destinatario del mensaje se debe usar el mtodo setAddress(java.lang.String addr) definido en la interfaz javax.wireless.messaging.Message de la que heradan javax.wireless.messaging.TextMessage y javax.wireless.messaging.BinaryMessage.

public void setMessageListener(javax.wireless.messaging.MessageListener l) throws IOException Registrar una clase que implemante la interfaz

javax.wireless.messaging.MessageListener, el plataforma J2ME invocar el mtodo notifyIncomingMessage() cuando reciba un mensaje.


Este mtodo slo tiene sentido para funcionen en modo servidor

javax.wireless.messaging.MessageConnection que

J2ME. Internacionalizacin de aplicaciones para mviles


J2ME, ha especificado un estandar que permite a los desarrolladores internacionalizar sus aplicaciones y todas sus clases se ubican en el paquete javax.microedition.global

J2ME, FileConnection API. Acceso a tarjetas de memorias desde MIDlets


La gran mayora de las aplicaciones necesitan guardar informacin en memorias permanentes cuando la aplicacin finalice. CLDC, nos proporciona a travs de las clases del paquete javax.microedition.io de un mecanismo estndar de almacenamiento de bloques de bytes (RecordStore) que slo pueden ser ledos, modificados y borrados por el MIDlet que lo cre. Aunque en la mayora de las aplicaciones este mecanismo es ms que suficiente, en otras se ve la necesidad de tener un tratamiento ms completo que permita la lectura, la escritura, el borrardo y la bsqueda de archivos y carpetas. Entre otras cosas, esto ltimo lo que podemos realizar a travs del API FileConnection. FileConnection es una especificacin opcional, por lo que la implementacin de esta en cada terminal depende del fabricante. javax.microedition.io.file.FileSystemRegistry javax.microedition.io.file.FileSystemListener Es una interfaz que debern implementar las clases que deseen ser registradas. Contiene un slo mtodo que ser invocado por el sistema cuando se aada o elimine la tarjeta de memoria.

public void rootChanged(int eventType, java.lang.String rootName) EventType podr ser una de las dos constantes estticas definidas en la interface: ROOT_ADDED o ROOT_REMOVED
javax.microedition.io.file.FileConnection

Se trata de una interfaz que ser implementada por cada dispositivo y que nos proporciona decenas de mtodos para crear, leer, escribir, consultar y eliminar informacin relacionada con archivos y directorios. Debido a la extensin de la misma slo voy a enumerar algunos de ellos, debiendo dirigirse usted a la especificacin oficial si necesita ms informacin.

public long availableSize()


Devuelve el nmero de bytes dispobibles en la memoria.

public long directorySize(boolean includeSubDirs) throws java.io.IOException


Devuelve el nmero de bytes que ocupa un directorio teniendo en cuenta o no los subdirectorios.

public void fileSize() throws java.io.IOException


Devuelve el nmero de bytes que ocupa el fichero.

public java.util.Enumeration list() throws java.io.IOException Devuelve una enumeracion de java.lang.String de todos los archivos y carpetas que contiene el
directorio actual. Los directorios se distinguen fcilmente de los archivos normales por que acaban con el caracter "/".

public void setFileConnection(java.lang.String fileName) throws java.io.IOException


Sirve para reutilizar instancias de FileConnection y as no malgastar recursos. Puede usarse el nombre ".." para ir al directorio padre.

public void rename(java.lang.String newName) throws java.io.IOException


Renombra un archivo o carpeta.

public void delete() throws java.io.IOException


Elimina un archivo o carpeta.

public java.io.InputStream openInputStream() throws java.io.IOException Obtiene un java.io.InputStream para leer el archivo. public java.io.OutputStream openOutputStream() throws java.io.IOException Obtiene un java.io.OutputStream para escribir informacin en el archivo.

Java 2 Micro Edition


J2ME es una versin de la plataforma J2SE adaptada a las limitaciones de los mviles, PDAs y muchos dispositivos con capacidad limitada. Perfiles Un perfil define un conjunto de APIs caractersticas comunes para un conjunto de dispositivos

Mobile Information Device Profile MIDP es un perfil diseado para desarrollar aplicaciones enfocadas a mviles, PDAs y dispositivos soportados por la configuracin CLDC. Se encarga de las siguientes funcionalidades: - Interfaz de usuario (javax.microedition.lcdui) - Funciones de red (aade funciones a javax.microedition.io) - Almacenamiento persisitente (javax.microedition.rms)

MIDP 1.0 y 2.0 La versin ms reciente es la 2.0 (sobre CLDC 1.1), sin embargo, la mayor parte de dispositivos que hay en el mercado actual funcionan sobre MIDP 1.0 (CLDC 1.0).

Javax.microedition.midlet Las aplicaciones midp heredan de la la classe MIDLet. sta es la encargada de gestionar el ciclo de vida de la aplicacin, mediante las funciones startApp, pauseApp y destroyApp.

Javax.microedition.lcdui Este paquete contiene las clases necesarias para implementar la interficie de usuario.

Javax.microedition.lcdui Por cada MIDlet tenemos una instancia de la clase Display. La aplicacin llama al mtodo getDisplay() desde la constructora para poder referenciar a dicha instancia. Los Displayable se emplazan en la display mediante la funcin setCurrent(Displayable)

Javax.microedition.lcdu La calse Displayable tiene dos descendientes:

- Canvas: Permite el control total de la pantalla a bajo nivel. Se usa en aplicaciones que capturan eventos y realizan llamadas grficas. Llama al mtodo paint(Graphics) para dibujar en la pantalla. - Screen: Ofrece estructuras predefinidas (Form, Alert, TextBox, List). No accede a las caractersticas nativas del dispositivo. Permite un mayor grado de portabilidad.

Javax.microedition.lcdui El manejo de eventos utiliza dos componentes:

- Command: Es un generador de eventos que podemos asociar a un displayable mediante el mtodo addCommand(Command). - CommandListener: Es una interfaz que permite escuchar eventos generados por Commands al objeto que la implemeta. Se invoca al mtodo CommandAction(Command,Displayable) cada vez que se produce un nuevo evento. Se asocia a un Displayable con el mtodo de esta clase setCommandListener(CommandListener).

Javax.microedition.lcdui.game MIDP 2.0 incorpora este paquete diseado especialmente para el desarrollo de juegos. Ofrece una subclase de Canvas que permite trabajar con layers o capas y controlar colisones entre stas.

Javax.microedition.lcdui.game GameCanvas: Canvas con capacidades adicionales. - Los mtodos trabajar off-screen. getGraphics() y flushGraphics(g) nos permiten

- El mtodo getKeyState() permite trabajar por encuesta o polling y consultar en todo momento la tecla pulsada. LayerManager:Permite la gestin de los layers. - Mediante el mtodo append(Layer) le asignamos layers. - setViewWindow(x,y,width,height) define la regin de la pantalla donde seran visibles los layers asignados. Layer: Clase abstracta que representa un elemento visual de la aplicacin. - Todas sus subclases deben implementar el mtodo paint(Graphics).

Javax.microedition.lcdui.game Sprite: Consiste en un layer formado por una secuencia de imgenes para realizar animaciones.

- Sprite(Image,width,height) crea el Sprite a partir de la imagen y el tamao de sus secciones. - Ofrece mtodos para controlar colisiones con otros layers.

Javax.microediton.lcdui.game

TiledLayer: Esta compuesto por una parrilla de tiles en la que a cada uno podemos asignarle secciones de una imagen. - tiledLayer(cols,rows,img,width,height) -Permite crear tiles animados llamando al mtodo int createAnimatedTile(tileIndex) i modificarlo setAnimatedTile(animatedTileIndex,staticTileIndex) mediante

Imgenes MIDP slo acepta el formato png. Hay varias maneras de mostrar imgenes: - Un archivo incluido en el MIDlet. - Un array de bytes: - Almacenado en memoria persistente Descargado de un servidor - Includo en el propio programa El mtodo createImage de la classe Image ofrece todas estas possibilades. -

Javax.microedition.rms Este paquete proporciona una clase (RecordStore) y varias interfaces para el almacenamiento persistente. Consiste en un mecanismo simple orientado a registros que permite guardar datos, salir de la aplicacin y recuperarlos en una ejecucin posterior. La clase RecordStore es una coleccin de registros en la que cada uno se identifica por un entero (Record ID).

Javax.microedition.rms La interface RecordListener permite monitorizar los cambios en un RecordStore. Cuando se modifica un RecordListener asociado. Hay 3 tipos de eventos: recordAdded(RecordStore rs,int recordId) recordChanged(RecordStore rs,int recordId) recordDeleted(RecordStore rs,int recordId) RecordStore se lanza un evento al

Javax.microedition.io Contiene varias interfaces que ofrecen distintas posibilidades de comunicacin. La clase connector permite crear las conexiones: Connection connector.open(String url) url = [protocol] : [direccin] Valores de protocol http Datagram Comm File Socket

http://www.dccia.ua.es/dccia/inf/asignaturas/TW/docs/j2m e.pdf Capas de Java ME

Paquetes opcionales: APIs para caractersticas especiales de algunos modelos Acceso a la cmara 3D
Perfiles: APIs para una familia de dispositivos Configuracin: API para un gran conjunto de dispositivos
CLDC: telfonos mviles
Mquina virtual limitada (KVM)

CDC: PDAs

CLDC: telfonos y similares


Dispositivos con memoria del orden de los KB Puede funcionar con slo 128KB Telfonos mviles y PDAs de gama baja Se ejecuta sobre KVM (Kilobyte Virtual Machine) Muy limitada, para poder funcionar con escasos recursos P.ej, no soporta reales (tipos float y double) Perfil MIDP (el ms comn, aunque hay otros) Dispositivos mviles de informacin (MIDs)
Paquetes:
javax.microedition.lcdui javax.microedition.midlet javax.microedition.rms

Paquetes opcionales
Wireless Messaging API (WMA) Envo y recepcin de mensajes cortos (SMS) Mobile Media API (MMAPI) Multimedia, reproduccin y captura de video y audio Bluetooth API Permite establecer conexiones va Bluetooth J2ME Web Services Invocacin de servicios web desde dispositivos mviles Mobile 3D Graphics Permite incorporar grficos 3D a las aplicaciones y juegos

Otros APIs comunes de Java ME


Algunas operaciones comunes en Java ME
Conexin con el servidor Se pueden recibir/enviar datos va HTTP Envo/recepcin de SMSs Se puede utilizar tambin para comunicar aplicaciones entre s Activacin por push Disparar una aplicacin automticamente cuando sucede un
evento (hora, recepcin de un SMS,)

Almacenamiento de datos persistentes RMS: una especie de ficheros de acceso aleatorio

Conexin con el servidor


Se pueden abrir conexiones HTTP No es habitual leer/enviar HTML (para eso usaramos un cliente thin, no thick). Se suele leer/enviar XML: + descriptivo Datos binarios: +compacto (-coste) Para leer/enviar datos binarios, hay que usar una serie de mtodos del paquete java.io

Envo/recepcin de SMS
API opcional llamado WMA (recordad que opcional = no todos
los mviles compatibles Java ME estn obligados a tenerlo)

Envo
MessageConnection mc = (MessageConnection) Connector.open("sms://+34555000000:6226"); String texto = "Este es un mensaje corto de texto"; TextMessage msg = mc.newMessage(mc.TEXT_MESSAGE); msg.setPayloadText(texto); mc.send(msg);

Recepcin
MessageConnection mc = (MessageConnection) Connector.open("sms://:6226");

Message msg = mc.receive();

Activacin por push


Pull: el usuario pone en marcha la aplicacin Push: la aplicacin se pone en marcha por algn evento Temporizador (alarma) Conexin entrante (p.ej.
SMS recibido)

Por ejemplo, el servidor puede mandar un SMS por un puerto determinado para avisar de que hay una nueva entrada en el blog.

PAQUETES USADOS EN J2ME Information Module Profile (IMP), JSR 195: Es un paquete que se puede combinar con CLDC y MIDP. Proporciona un entorno de aplicacion para dispositivos embebidos que no tiene grandes capacidades graficas o con recursos limitados de alguna otra manera: paneles de emergencia, parquimetros, sistemas de alarma domesticos y similares. Un uso tipico puede ser, por ejemplo, en una maquina expendedora, donde los modulos wireless pueden enviar alertas cuando las maquinas necesitan que las repongan. IMP proporciona la funcionalidad de aplicacion basica para aplicaciones maquina-maquina, incluyendo conectividad de red, almacenamiento local y gestion del ciclo de vida de la aplicacion.

Wireless Messaging API (WMA); JSR 120, JSR 205 Es un paquete que se puede utilizar sobre CLDC y MIDP (1.0 y 2.0) y CDC y sus perfiles. El API para mensajeria sin cables (Wireless Messaging API, WMA) proporciona acceso independiente de plataforma a recursos de comunicacion sin cable como la mensajeria SMS (Short Message Service, SMS). Existen dos especificaciones: -)WMA 1.0, la especificacion original a partir de JSR 120. -)WMA 1.1, especificacion que incluye cambios para considerar el framework de seguridad y la arquitectura de comunicacion de MIDP 2.0

Mobile Media API (MMAPI); JSR 135 Es un paquete que se puede utilizar sobre CLDC y MIDP (1.0 y 2.0) y CDC y sus perfiles. Este paquete extiende la funcionalidad de la plataforma J2ME incorporando soporte de audio, video y otros tipos de datos multimedia basados en tiempo a dispositivos de recursos limitados. Existen dos especificaciones: -)WMA 1.0, la especificacion original a partir de JSR 135. -)WMA MMAPI 1.1, especificacion que incluye cambios para considerar el framework de seguridad de MIDP 2.0

Location API for J2ME (JSR-179) Es un paquete que se puede utilizar sobre CLDC 1.1 y CDC. Esta especificacion permite la localizacion de dispositivos moviles para dispositivos con recursos limitados. El API se ha dise ado para generar informacion sobre la localizacion geografica actual del terminal para las aplicaciones Java. El API cubre la obtencion de la localizacion geografica presente y la orientacion del terminal y acceder a una base de datos de mapas almacenados en el terminal.

SIP API for J2ME (JSR-180) Es un paquete que se puede utilizar sobre CLDC. El protocolo Session Initiation Protocol (SIP) se utiliza para establecer y gestionar sesiones IP multimedia. El mismo mecanismo se puede utilizar para proporcionar mensajeria instantanea, presencia y servicios de juego. El API se ha dise ado para permitir que las aplicaciones Java envien y reciban mensajes SIP.

Security and Trust Services API for J2ME (JSR-177) Es un paquete que se puede utilizar sobre CLDC. Este paquete amplia las caracteristicas de seguridad para la plataforma J2ME a adiendo APIs de cifrado, servicio de firma digital y gestion de credenciales de usuario.

Mobile 3D Graphics (JSR-184) Es un paquete que se puede utilizar sobre CLDC y MIDP (1.0 y 2.0) El paquete Mobile 3D Graphics API (M3G) permite generar graficos tridimensionales a frecuencias de imagen interactivas en dispositivos mobiles de recursos restringidos.Tambien incluye utilizadades para la gestion de escenas 3D y animaciones asi como un formato de archivo para despliegue eficas OTA para contenido 3D.

J2ME Web Services APIs (WSA), JSR 172 Es un paquete que se puede utilizar sobre CLDC y MIDP (1.0 y 2.0). El paquete J2ME Web Services APIs (WSA) amplia la plataforma de servicios web para incluir J2ME. Estas APIs permiten que los dispositivos J2ME puedan ser clientes de servicios web mediante un modelo de programacion consistente con la plataforma estandar de servicios web.

Bluetooth API (JSR- 82, Motorola, Java Partner Site) Es un paquete que se puede utilizar sobre CLDC y MIDP (1.0 y 2.0). Proporciona un estandar para la creacion de aplicaciones Bluetooth, de forma que las aplicaciones desarrolladas con el paquete opcional puedan ejecutarse utilizando esta tecnologia.

J2ME RMI Optional Package, (RMI OP); JSR 66 Es un paquete que se puede utilizar sobre CDC. EL paquete RMI Optional (RMI OP) permite a dispositivos de consumo y aplicaciones embebidas interactuar como y con aplicaciones distribuidas. Se amplian las caracteristicas de RMI existentes para que pequeos dispositivos interactuen entre si. RMI OP es un subconjunto del API RMI de J2SE.

JDBC Optional Package for CDC/Foundation Profile API (JSR- 169) Es un paquete que se puede utilizar sobre CDC. Es un paquete que define un subconjunto del API JDBC 3.0 que se puede utilizar en J2ME para procesar datos de repositorios, habitualmente BBDD relacionales, mediante SQL y para manipular datos tabulares como si fueran JavaBeans.

Screens y Forms La clase Alert La clase List La clase TextBox La clase Ticker La clase StringItem La clase ImageItem La clase TextField La clase DateField La clase ChoiceGroup La clase Gauge

http://mami.uclm.es/j2me/J2ME/manuales/Curso_J2ME.pdf

El API de CLDC El API de CLDC es un pequeo subgrupo del API de J2SE. A parte de estas clases e interfaces, el API de CLDC contiene una serie de interfaces propias, dedicadas a los servicios de red. El paquete java.lang Las clases e interfaces del paquete java.lang, estn relacionadas con el ncleo del lenguaje Java. Es decir, ests clases incluyen soporte para las capacidades del lenguaje como los recubrimientos de los tipos primitivos de variables, las cadenas, la excepciones y los threads, entre otras. Las clases e interfaces del lenguaje java.lang son : Boolean.- Encapsula el tipo primitivo bolean Byte. Encapsula el tipo primitivo byte Character. Encapsula el tipo primitivo char Class. Proporciona informacin sobre la ejecucin de una clase Integer. Encapsula el tipo primitivo int Long. Encapsula el tipo primitivo long Math. Proporciona acceso a varias operaciones y constantes matemticas Object. La superclase del resto de clases en Java Runnable. Interfaz que proporciona un significado a la creacin de threads (hilos), sin heredar la clase Thread Runtime. Proporciona acceso al entorno de ejecucin Short. Encapsula el tipo primitivo short String. Representa una cadena de texto constante StringBuffer . Representa una cadena de texto, de longitud y valor variable System . Proporciona acceso a los recursos del sistema Thread . Se usa para crear un thread (hilo) de ejecucin dentro de un programa Throwable . Proporciona soporte para el control de excepciones El paquete java.util El paquete java.util, como en J2SE, incluye clases e interfaces con utilidades variadas, como puede ser el manejo de fechas, estructuras de datos...

Las clases e interfaces de java.util son: Calendar. Proporciona funciones para manejar fechas y convertir valores numricos en fechas Date Representa un instante de tiempo Enumeration. Es una interfaz que describe como manejar la iteracin entre un grupo de valores Hashtable . Una coleccin que asocia valores y claves Random. Generador de nmeros pseudoaleatorios Stack. Una coleccin con gestin LIFO TimeZone. Representa la zona horaria Vector. Una coleccin en forma de matriz dinmica El paquete java.io Este paquete proporciona clases e interfaces de apoyo para leer y escribir datos. Aunque la funciones de persistencia, recaen sobre los perfiles. Las clases e interfaces de java.io son: ByteArrayInputStream. Un flujo (stream) de entrada que se gestiona internamente como una matriz de bytes. ByteArrayOutputStream. Un flujo (stream) de salida que se gestiona internamente como una matriz de bytes. DataInput. Una interfaz que define los mtodos para leer datos desde un flujo (stream) binario a tipos primitivos DataInputStream. - Un flujo (stream) desde el cual se leen datos como tipos primitivos DataOutput . Una interfaz que define mtodos para escribir datos en forma de tipos primitivos en un flujo (stream) binario DataOutputStream. Escribe datos en tipos primitivos en un flujo (stream) en formato binario InputStream . La clase base para todos los flujos (streams) de entrada InputStreamReader. Un flujo (stream) desde el que se pueden leer caracteres de texto OutputStream. La clase base para todos los flujos (streams) de salida OutputStreamWriter. Un flujo (stream) en el que se pueden escribir caracteres detexto PrintStream. Un flujo (stream) de escritura que facilita el envo de datos en forma de tipos primitivos Reader. Una clase abstracta para leer flujos (streams) de lectura Writer. Una clase abstracta para leer flujos (streams) de escritura El GCF (Generic Connection Framework) de CLDC Debido a las dificultades para proveer soporte para funciones de red a nivel de configuracin, por la variedad en los dispositivos, el CLDC delega esta parte del API a los perfiles. Para realizar esta delegacin de forma satisfactoria, el CLDC ofrece un marco general de trabajo en red, conocido como el GCF (Generic Connection Framework). El GCF est compuesto bsicamente por una serie de interfaces de conexin, junto con una clase Conector que es usada para establecer las diferentes conexiones. Todo esto, est dentro del paquete javax.microedition.io. Las interfaces del paquete javax.microedition.io son: Connection. Una conexin bsica que slo puede ser abierta y cerrada ContentConnection. Un flujo (stream) de conexin que proporciona acceso a datos web DatagramConnection. Una conexin para manejar comunicaciones orientadas a paquetes InputConnection. Una conexin de entrada para las comunicaciones del dispositivo OutputConnection. Una conexin de salida para las comunicaciones del dispositivo StreamConnection. Una conexin en ambas direcciones para las comunicaciones del dispositivo StreamConnectionNotifier. Una conexin especial para notificaciones, que es usada para esperar que se establezca una conexin El API de MIDP El perfil de dispositivo, comienza donde la configuracin para, en lo que se refiere a proveer funciones para llevar a cabo importantes tareas en un determinado tipo de dispositivo.

De forma similar a lo que hicimos con el API de CLDC, el API de MIDP se puede dividir en dos partes. Dos clases heredadas directamente del API de J2SE y una serie de paquetes que incluyen clases e interfaces nicas para el desarrollo de MIDP. Las clases heredadas de J2SE Slo dos clases del API de MIDP, provienen directamente del API de J2SE. Estas clases estn dentro del paquete java.util, dentro del API de MIDP. Timer Proporciona funcionalidad para crear tareas programadas temporalmente TimerTask Representa una tarea que es temporizada a travs de la clase Timer Clases e interfaces propios de MIDP La gran parte del API de MIDP, son una serie de clases e interfaces diseadas explcitamente para la programacin de MIDLets. Aunque estas clases e interfaces son similares a algunas clases del API de J2SE, son totalmente exclusivas del API de MIDP. Esta parte del API se divide en varios paquetes: javax.microedition.midlet javax.microedition.lcdui javax.microedition.io javax.microedition.rms El paquete javax.microedition.midlet Este es el paquete central del API de MIDP y contiene una sola clase: MIDlet. Esta clase provee la funcionalidad bsica para que una aplicacin se puede ejecutar dentro de un dispositivo con soporte para MIDLets. El paquete javax.microedition.lcdui Este paquete contiene clases e interfaces que soportan componentes de interfaz de usuario (GUI), especficos para las pantallas de los dispositivo mviles. La funcionalidad de este paquete es similar a la del Abstract Windowing Toolkit (AWT) de J2SE, aunque bastante ms reducida, como es obvio. Lcdui, corresponde al texto Liquid Crystal Displays User Interfaces. Las pantallas de cristal lquido son comunes en los dispositivos mviles. Un concepto bsico dentro de la programacin de MIDLets, es la pantalla (screen), que es un componente GUI genrico, que sirve de clase base para otros componentes. Las interfaces de usuario, se compondrn aadiendo componentes a la clase base (screen). A parte de la creacin de interfaces de usuario mediante esta aproximacin de alto nivel, tambin se puede acceder directamente a primitivas de dibujo, sobre la pantalla. En este caso, la superficie de la pantalla del dispositivo es como un lienzo (canvas). Las interfaces del paquete javax.microedition.lcdui son: Choice Una interfaz que describe una serie de elementos sobre los que el usuario puede escoger CommandListener Una interfaz de monitorizacin de eventos (listener), para gestionar comandos a alto nivel ItemStateListener Una interfaz de monitorizacin de eventos (listener) para gestionar los eventos sobre el estado de los elementos Adems de las interfaces antes enumeradas, el paquete lcdui, contiene tambin las siguientes clases: Alert Una pantalla que muestra informacin al usuario y despus desaparece. AlertType Representa diferentes tipos de alertas, usadas junto con la clase Alert Canvas Una superficie (lienzo) para dibujar a bajo nivel. Permite dibujar las pantallas que mostrar el dispositivo, a bajo nivel ChoiceGroup Presenta un grupo de elementos seleccionables. Se usa junto con el interfaz Choice Command Representa un comando a alto nivel, que puede ser generado desde el MIDLet DateField Representa una fecha y una hora que pueden ser editadas Display Representa la pantalla del dispositivo y acoge la recuperacin de las acciones del usuario Displayable. Es un componente abstracto que se puede mostrar por pantalla. Es una superclase para otros componentes. Font. Representa un tipo de letra y las mtricas asociadas al mismo.

Form. Es una pantalla que sirve como contenedor para otros componentes grficos de usuario. Gauge. Muestra un valor, como un porcentaje dentro de una barra. Graphics. Encapsula operaciones grficas bidimensionales, como son el dibujo de lneas, elipses, texto e imgenes. Image. Representa una imagen. ImageItem. Es un componente que soporta la presentacin (layout) de una imagen. Item. Es un componente que representa un elemento con una etiqueta. List. Es un componente que consiste en una lista de opciones para seleccionar. Screen. Representa una pantalla completa a alto nivel, y sirve como clase base para todos los componentes del interfaz de usuario de MIDP. StringItem. Un componente que representa un elementoconsistente en una etiqueta y una cadena de texto asociada. TextBox. Un tipo de pantalla que soporta la visualizacin y edicin de texto. TextField. Un componente que soporta la visualizacin y edicin de texto. A diferencia de un TextBox, este componente puede ser aadido a un form, junto con otros componentes. Ticker. Un componente que muestra texto movindose horizontalmente, como una marquesina. El paquete javax.microedition.io El CLDC, descarga el trabajo con la red y la entrada/salida en al paquete java.io y en el Generic Connection Framework (GCF). El API de MIDP parte de esta base, aadiendo la interfaz HttpConnection, que pertenece al paquete javax.microedition.io. El paquete javax.microedition.rms El API de MIDP, presenta un sistema de persistencia basado en registros para almacenar informacin. Este sistema, conocido como Record Management System (RMS). Las interfaces del paquete javax.microedition.rms son: RecordComparator. Para comparar dos registros. RecordEnumeration. Para iterar sobre los registros. RecordFilter. Para filtrar registros de acuerdo a un registro. RecordListener. Un monitorizador de eventos usado para controlar los cambios en los registros. A parte de estas interfaces, tenemos una serie de clases, de las que debemos destacar la clase RecordStore, que representa un recordstore (almacn de registros). Las clases del paquete javax.microedition.rms son: InvalidRecordException. Se lanza cuando una operacin falla porque el identificador del registro es invalido. RecordStore. Representa un almacn de registros. RecordStoreException. Se lanza cuando una operacin falla por un error general. RecordStoreFullException. - Se lanza cuando una operacin falla porque el record store est completo. RecordStoreNotFoundException. Se lanza cuando una operacin falla porque el record store no se ha podido localizar. RecordStoreNotOpenException. Se lanza cuando se realiza una operacin sobre un record store cerrado.

Das könnte Ihnen auch gefallen