Home
Programación en MIDP - Departamento de Ingeniería Telemática
Contents
1. DEPARTAMENTO DE INGENIER A TELEM TICA UNIVERSIDAD CARLOS lll DE MADRID PROGRAMACI N EN MIDP Celeste Campo celeste it uc3m es Parte de este material se basa en transparencias de Natividad Mart nez Madrid nati it uc3m es PROGRAMACION EN MIDP Pag 1 ly EN IIA y INDICE e MIDlet e Primer ejemplo Hola Mundo e Interfaz gr fico UI API UI de alto nivel API UI de bajo nivel e RMS Record Management System e GCF Generic Connection Framework BIBLIOGRAF A e Wireless Java Programming with Java 2 Micro Edition Feng Yu and Zhu Jun SAMS 2001 L D 004 438 JAVA FEN Cap tulos 5 al 9 e J2ME Java 2 micro edition manual de usuario y tutorial Froufe Agust n y Jorge Patricia Ra Ma 2004 L S 004 438 JAVA FRO L D 004 438 JAVA FRO PROGRAMACI N EN MIDP P g 2 y HERE RK _ _ _ oc o _ _ eee MiDlet Desarrollo y despliegue e MIDlet aplicaci n MIDP e El desarrollo de un MIDlet consta de las siguientes etapas Crear Publicar Descargar Instalar Ejecutar Actualizar gesti n de versiones Borrar PROGRAMACI N EN MIDP P g 3 MiDlet Creaci n e Los pasos de creaci n de un MIDlet Escribir el c digo y compilar Preverificar el c digo Empaquetar en un JAR y crear el descriptor fichero JAD Ejecutar en emulador pas an Myapp class Myapp class PROGRAMACI N
2. Atributos requeridos MIDlet Name MIDlet Version MIDlet Vendor MIDlet Jar URL MIDlet Jar Size MicroEdition Profile MicroEdition Configuration Atributos opcionales MIDlet Description MIDlet Icon MIDlet Info URL MIDlet Data Size Puede incluir otros atributos que no necesariamente son MlDlet PROGRAMACI N EN MIDP P g 12 MIDlet javax microedition midlet MIDlet Clase abstracta base para todos los MlDlets protected MIDlet e Constructor para crear un MIDlet sin argumentos protected abstract void startApp throws MIDletStateChangeException e Se le llama cuando el MIDlet comienza paused gt active state protected abstract void pauseApp e Se le llama cuando el MIDlet pausa active gt paused state protected abstract void destroyApp boolean unconditional throws MIDletStateChangeException e Se le llama cuando el MIDlet se destruye gt destroyed state public final void notifyDestroyed e Comunica al AMS que el MIDlet ha limpiado la memoria y ha terminado public final void notifyPaused e Comunica al AMS que el MIDlet est en pausa public final String getAppProperty String key Se le llama para obtener las propiedades del MIDlet PROGRAMACION EN MIDP Pag 13 MIDlet MIDlet Suite MIDlet Suite Conjunto de MiDlets contenidas en un mismo JAR Normalmente aunque solo se incluya un MIDlet se trabaja con MIDlet S
3. EN MIDP P g 4 MiDlet Publicaci n lt Servidor N MIDlet MIDlet Entorno de desarrollo Dispositivo descargar crear PROGRAMACI N EN MIDP P g 5 O E MiDlet Descarga e Gestionado por el Application Management System e El dispositivo obtiene el MIDlet de alguna fuente a trav s Red inal mbrica Puerto serie IRDA Bluetooth Negociaci n sobre capacidades del dispositivo seg n los requisitos del MIDlet coste e Se descarga el MIDlet a la memoria del dispositivo PROGRAMACI N EN MIDP P g 6 MIDlIet Instalaci n e Gestionado por el Application Management System e Puede comprobar que el MIDlet no vulnera las pol ticas de seguridad del m vil Puede transformar convertir el MIDlet de formato p blico a un formato espec fico del dispositivo Ejemplo en PalmOS se transforma a formato PRC PROGRAMACI N EN MIDP P g 7 MIDlet Ejecuci n e El usuario selecciona el MIDlet y lo ejecuta e En este momento el MIDlet entra en la VM y se invocan los m todos que gestionan su ciclo de vida Paused Iniciado y a la espera Active Tiene recursos ejecutando Destroyed Ha liberado recursos destruido hilos y terminado toda su actividad destroy Appii pauseApp PROGRAMACI N EN MIDP P g 8 MiDlet Actualizaci n e Puede publicarse una nueva versi n del MIDlet e App
4. tiempo timeout antes de pasar a otra pantalla e Constructores Alert String title Alert String title String alertText Image alertImage AlertType alertType e Timeout en milisegundos Establecido con el m todo setTimeout int time Temporizador infinito Alert FOREVER cambio de pantalla mediante comando e Tipos de alertas ALARM CONFIRMATION ERROR INFO WARNING e Siguiente displayable que se presenta despu s del timeout display setCurrent Alert alert Displayable displayable PROGRAMACI N EN MIDP P g 32 API UI de alto nivel Clase Form Subclase de Screen que puede contener un n mero arbitrario de items Constructores Form String title Form String title Item items M todos int append Image img int append Item item int append String str void delete int itemNum void insert int itemNum Item item void set int itemNum Item item Item get int itemNum Un item s lo puede colocarse en un Form PROGRAMACI N EN MIDP P g 33 cC q KO 0 o _ _ __ ULL QUU UU LLLLLLLoLLLULLLULUL ZLLL LUI API UI de alto nivel Clase Item Conjunto de elementos que pueden a adirse a un Form con una etiqueta asociada Superclase de ChoiceGroup e Item que implementa interfaz Choice no impl cita e Parecido a List StringItem e Visualizar texto s lo las aplicaciones interaccionan no el usuario Ima
5. GRAMACI N EN MIDP P g 28 de AE oS o co 2 O gg lt 00 0 04 API UI de alto nivel Ejemplos List y Choice Ver c digo ListTest java ChoiceExample zip proyecto WTK PROGRAMACI N EN MIDP P g 29 T ST API UI de alto nivel Clase TextBox e Subclase de Screen que permite al usuario introducir y editar un texto e Constructor TextBox String title String text int maxSize int constraints e Tama o maximo Indicado en el constructor y se puede modificar con setMaxSize e Restricciones de entrada ANY cualquier texto EMAILADDR direcci n email NUMERIC valor entero PHONENUMBER numero de tel fono URL URL PROGRAMACI N EN MIDP P g 30 API UI de alto nivel Clase TextBox e M todos para editar y obtener el texto del TextBox Contenido como array de caracteres void setChars char data int offset int legth int getChars char data Contenido como String void setString String text String getString Modificar el contenido a partir de una posici n void insert char data int offset int length int position void insert String src int position Borrar el contenido void delete int offset int length e Atrav s del teclado PROGRAMACI N EN MIDP P g 31 tl AE NNNM API UI de alto nivel Clase Alert e Subclase de Screen que permite visualizar datos texto im genes durante un cierto
6. GRAMACION EN MIDP Pag 53 RMS Ejemplo E 45550001 DefaultColorPhone MIDlet Help E31 J2ME Wireless Toolkit RMSExample ml x File Edit Project Help New Project ee Open Project a Settings Build p Run ine Clear Console Device DefauttColorPhone Settings updated Project settings saved eleted the current project s class files uilding RMSExample uild complete unning with storage root temp DefaultColorPhonelll3840441125 record l is added record Z is added Ver c digo RecordStoreTest java RMSExample zip proyecto WTK PROGRAMACI N EN MIDP P g 54 GCF Generic Connection Framework e Paquete javax microedition io e Marco gen rico de conexiones nterfaces definidas a nivel CLDC Implementadas en los perfiles y adem s los perfiles pueden definir m s interfaces En MIDP s lo es obligatorio implementar conexiones HTTP PROGRAMACI N EN MIDP P g 55 ds TTT GCF Interfaces de conexi n en CLDC Connection InputConnection Representa un dispositivo desde el que se leen datos M todo openInputStream OutputConnection Representa un dispositivo en el que se escriben datos M todo openOutputStream StreamConnection Combina las dos anteriores ContentConnection Acceso a algunos metadatos de conexi n HTTP StreamConnectionNotified Espera a que se establezca una conexi n devuelve u
7. HelloWorld png HelloWorld MIDlet Name HelloWorld MIDlet Vendor Sun Microsystems MIDlet Version 1 0 MicroEdition Configuration CLDC 1 0 MicroEdition Profile MIDP 1 0 PROGRAMACI N EN MIDP P g 18 E AAA A E Hola Mundo en MIDP E 5550001 DefaultColorPhone MIDlet Help Ver c digo HelloWorld java HelloWorld zip proyecto WTK PROGRAMACI N EN MIDP P g 19 de tl ee din Explicacion de Hola Mundo en MIDP Extiende MIDlet Implementa startApp pauseApp destroyApp e Atributos privados Display display representa el gestor de la pantalla y de los dispositivos de entrada Uno por MIDlet TextBox mainScreen permite al usuario introducir y editar texto display setCurrent mainScreen en startApp hace el TextBox visible Command exit representa apretar una tecla e Asociado a la mainScreen mainScreen addCommand exit e El MIDlet se registra en mainScreen como escuchador de exit mainScreen setCommandListener this EI MIDlet implementa el m todo escuchador commandAction interfaz CommandListener PROGRAMACI N EN MIDP P g 20 Interfaz gr fico e Paquete javax microedition lcdui Clases b sicas Displayable e Informaci n a ser visualizada Display e Selecciona qu objeto Displayable se muestra al usuario PROGRAMACI N EN MIDP P g 21 O i SC OOO gt Interfaz gr fico Clase Displayab
8. Width int arcHeight void fillArc int x int y int width int height int startAngle int arcAngle void fillRect int x int y int width int height void fillRoundRect int x int y int width int height int arcWidth int arcHeight PROGRAMACI N EN MIDP P g 39 API UI de bajo nivel Clase Graphics M todo para pintar im genes void drawImage Image img int x int y int anchor e M todos de soporte a colores int getBlueComponent int getColor int getGrayScale int getGreenComponent int getRedComponent void setColor int RGB void setColor int red int green int blue void setGrayScale int value Sistema de coordenadas empieza en el extremo superior derecho width 0 0 0 0 height PROGRAMACI N EN MIDP P g 40 API UI de bajo nivel Ejemplo Graphics y Canvas import javax microedition midlet import javax microedition lcdui public class LineTest extends MIDlet private Display display public LineTest display Display getDisplay this public void startApp throws MIDletStateChangeException display setCurrent new LineTestCanvas public void pauseApp public void destroyApp boolean unconditional PROGRAMACION EN MIDP Pag 41 API UI de bajo nivel Ejemplo Graphics y Canvas class LineTestCanvas extends Canvas public void paint Graphics g Tama o del r
9. a cada elemento PROGRAMACI N EN MIDP P g 26 API UI de alto nivel Interfaz Choice Presenta al usuario una serie de elementos texto y posiblemente imagenes que puede seleccionar e M todos int size n mero de elementos de selecci n void set int elementNum String stringPart Image imagePart modifica elemento indicado String getString int elementNum obtiene texto del elemento Image getImage int elementNum obtiene imagen del elemento void setSelectedFlags boolean selectedArray modificar estado de selecci n de todos los elementos void setSelectedIndex int elementNum boolean selected idem de un elemento concreto void insert int elementNum String stringPart Image imagePart inserta elemento en posici n previa al elemento indicado int append String stringPart Image imagePart a ade elemento PROGRAMACI N EN MIDP P g 27 E E __ o _ _ _ _ u API UI de alto nivel Interfaz Choice Existen tres tipos de objetos Choice 1 Choice exclusivo Exactamente un elemento seleccionado simult neamente 2 Choice impl cito Solo se puede utilizar en listas List donde el elemento que est enfocado es el que se selecciona impl citamente 3 Choice multiple Se puede seleccionar cualquier n mero de elementos incluido ninguno y en cualquier combinaci n PRO
10. aces gr ficos de bajo nivel en MIDP e Necesario obtener el tama o del display y programar teniendo en cuenta estas dimensiones int getWidth int getHeight e M todo void paint Graphics g Debe pintar todos los pixeles de la pantalla e M todos para la gesti n de eventos a bajo nivel Entradas teclado Puntero pantalla t ctil Cuando se visualiza el Canvas en el display showNotify antes de visualizarlo hideNotify despu s de visualizarlo PROGRAMACI N EN MIDP P g 37 E BB BB BB 27 S API UI de bajo nivel Clase Canvas e Una clase que extienda Canvas Debe implementar obligatoriamente el m todo abstracto paint No es necesario que implemente todos los m todos relacionados con eventos a bajo nivel No son m todos abstractos y su implementaci n por defecto es vac a no hacen nada e El desarrollador s lo debe implementar los m todos correspondientes a los eventos que quiere gestionar PROGRAMACI N EN MIDP P g 38 API UI de bajo nivel Clase Graphics Graphics Similara java awt Graphics geometr a bidimensional e Pasado al m todo paint de Canvas M todos para dibujar void drawArc int x int y int width int height int startAngle int arcAngle void drawLine int x1 int yl int x2 int y2 void drawRect int x int y int width int height void drawRoundRect int x int y int width int height int arc
11. d ID del siguiente elemento de la lista int previousRecordId 1ID del anterior elemento de la lista Se define como interfaz pero los fabricantes deben realizar una implementaci n de ella para los desarrolladores es una clase PROGRAMACI N EN MIDP P g 51 tl ee RMS Interfaz RecordFilter y RecordComparator Permiten ordenar los records en un RecordStore seg n alg n criterio e Interfaz RecordFilter boolean matches byte candidate La aplicaci n determina si el record candidate verifica el criterio de selecci n e Interfaz RecordComparator int compare byte recl byte rec2 Clasificacion de records por algun criterio ej fecha creacion Devuelve el orden de records rec1 y rec2 PRECEDES FOLLOWS EQUIVALENT PROGRAMACI N EN MIDP P g 52 RMS Ejemplo public void startApp throws MIDletStateChangeException RecordStore rs null try rs RecordStore openRecordStore filel true byte data new byte 4 for int 3 0 j 2 j int i rs getNextRecordID data 0 byte i gt gt 24 Oxff data 1 byte i gt gt 16 Oxff data 2 byte i gt gt 8 Oxff data 3 byte i Oxff System out println record rs addRecord data 0 4 is added catch Exception e finally try rs closeRecordStore catch Exception e destroyApp true notifyDestroyed PRO
12. ea de dibujo int width this getWidth int height this getHeight Fondo de la pantalla blanco g setColor OxFFFFFF g fillRect 0 0 width height Lineas en negro g setColor 0x000000 Dibujamos dos lineas ejes g drawLine 0 height width 0 g drawLine 0 0 width height PROGRAMACI N EN MIDP P g 42 API UI de bajo nivel Ejemplo Graphics y Canvas Ver c digo LineTest java CanvasGraphicExample zip proyecto WTK PROGRAMACI N EN MIDP P g 43 cC EEO API UI de bajo nivel Eventos e Eventos de teclado Cada tecla est definida por un c digo KEY NUM1 KEY NUMO9 KEY STAR y KEY POUND i M todos que gestionan los eventos void keyPressed int keyCode void keyReleased int keyCode void keyRepeated int keyCode e Acciones de juego Se definen una serie de c digos UP DOWN RIGHT LEFT FIRE GAME A GAME B GAME C y GAME D Mapeo a teclas con los m todos getKeyCode int gameAction y getGameAction int keyCode Eventos de puntero M todos que gestionan los eventos void pointerPressed int x int y void pointerReleased int x int y void pointerRepeated int x int y PROGRAMACI N EN MIDP P g 44 RMS Record Management System e Paquete javax microedition rms e Base de datos sencilla orientada a registro Permite almacenar datos de las aplicaciones de forma persistente Ind
13. ener e Fuentes Form Eventos de bajo nivel Relacionados con pulsaciones de teclas de puntero Una aplicaci n no puede acceder a eventos de bajo nivel a trav s de displayables de alto nivel PROGRAMACI N EN MIDP P g 24 Interfaz gr fico Clase Command e Un objeto command contiene tres elementos 1 Label String representando el significado del comando Es lo que la aplicaci n muestra al usuario 2 Type Entero que especifica qu va a realizar el comando Tipos definidos BACK CANCEL HELP EXIT ITEM OK SCREEN y STOP 3 Priority Entero que indica la importancia del comando Mayor cuanto menor sea el n mero e Constructor Command String label int commandType int priority e A adir comando a un displayable addCommand Command e Eliminar comando de un displayable removeCommand Command e CommanoListener interfaz M todo commandAction Comand c Displayable d PROGRAMACI N EN MIDP P g 25 E q KO o LILALLLLLGLAALALLLAL LLAUCGB0LLLLLLLLNLLLLALLLLAiE LGEUAUALLLASLAL LS API UI de alto nivel Clase List e Subclase de Screen que implementa el interfaz Choice e Constructores List String title int listType e Se crea una lista vac a los elementos de selecci n se pueden a adir despu s List String title int listType String stringElements Image imageElements e Se indican los elementos de la lista y posibles im genes asociadas
14. ependiente del sistema de almacenamiento concreto del dispositivo PROGRAMACI N EN MIDP P g 45 ds BB ow RMS RecordStore Un record store clase RecordStore es una colecci n de records Un record es un array de bytes de tama o variable Reglas para los RecordStore Nombre e Combinaci n de 32 caracteres case sensitive e Debe ser nico en un mismo MIDlet Suite RecordStores del mismo MIDlet Suite e Se almacenan en el mismo espacio de nombres Permite que se compartan entre los MIDles pertenecientes al MIDlet Suite e No accesibles para MlDlets de otros MidletSuite PROGRAMACI N EN MIDP P g 46 RMS Operaciones sobre RecordStore e Crear abrir static RecordStore openRecordStore String recordStoreName boolean createlfNecessary Cerrar void closeRecordStore Siempre despu s de utilizarse debe cerrarse e Borrar static void deleteRecordStore String recordStoreName Antes de borrar siempre se debe cerrar PROGRAMACI N EN MIDP P g 47 cC Bg RMS Operaciones sobre RecordStore e Los records se identifican univocamente mediante el Identificador recordID de tipo int e Manipular records int addRecord byte data int offset int numBytes void deleteRecord int recordId byte getRecord int recordId y int getRecord int recordId byte buffer int offset void setRecord int recordId byte newData in
15. geItem e Con par metro layout para alineaci n TextField e Texto que los usuarios pueden editar DataField e Editable para visualizar fechas y tiempos Gauge e Diagrama de barras PROGRAMACI N EN MIDP P g 34 API UI de alto nivel Otras clases e Clase Ticker Texto que pasa continuamente a trav s de la pantalla Se asociado a un displayable con el m todo setTicker Ticker ticker Clase Image Im genes inmutables e Generadas a partir de un fichero recurso descargado Nose pueden modificar Tipo de im genes en un Alert Choice O ImageItem Im genes mutables e Se pueden modificar e Clase CustomItem Clase abstracta que permite definir nuevos tipos de Items Clase MIDP 2 0 PROGRAMACI N EN MIDP P g 35 S t q KK TT OO 00 000 c4 LLCELL LLLILLLILAUGOo soxNocC1 4i n API UI de bajo nivel e Control gr fico de la pantalla a nivel de pixel Definici n de eventos propios de entrada Detecci n de eventos de teclado Detecci n de eventos de puntero e M s flexibilidad menos portabilidad Elresultado final puede depender del tel fono concreto en el que se ejecute e Clase fundamental para la realizaci n de juegos Mejorada en MIDP 2 0 con la extensi n GameCanvas PROGRAMACI N EN MIDP P g 36 API UI de bajo nivel Clase Canvas e Subclase abstracta de Displayable que permite realizar interf
16. iar o recibir datos del servidor e Elinterfaz HTTPConnection proporciona una serie de m todos para cada uno de los estados anteriores PROGRAMACI N EN MIDP P g 59 ds i TTT GCF Clase HTTPConnection e Setup e Closed setRequestMethod close setRequestProperty getRequestMethod a Connected getRequestProperty openInputStream gt gar openOutputStream getProtocol openDataInputStream i ge NOAL openDataOutputStream Chee getLength getRef getType getPort getEncoding SESpusty getHeaderField getResponseCode getResponseMessage getHeaderFieldInt getHeaderFieldDate getExpiration getDate getLastModified getHeaderField getHeaderFieldKey PROGRAMACI N EN MIDP P g 60 GCF Ejemplo HTTPConnection private void download String url throws IOException StringBuffer b new StringBuffer InputStream is null HttpConnection c null TextBox t null try long len O int ch 0 c HttpConnection Connector open url is c openInputStream while ch is read 1 b append char ch t new TextBox Hola b toString 1024 0 finally if is null is close if c null c close PROGRAMACION EN MIDP Pag 61 GCF Ejemplo HTTPConnection eres ixi MIDlet Help MIDlet Help ls HBL Hola clase de swd TTPTest wants to send and receive data using he netw
17. le e Existen tres categor as de Displayables Screen con estructura predefinida e Alert List O TextBox e Encapsulan componentes de interfaces complejos que las aplicaciones no pueden enriquecer con nuevos componentes Screen gen rico e Form e Las aplicaciones pueden llenar esta pantalla con texto im genes u otros componentes de interfaz gr fico Canvas displayable de bajo Usuario tiene control total sobre los componentes del display y puede acceder a eventos de bajo nivel PROGRAMACI N EN MIDP P g 22 Interfaz gr fico Clase Display M todos para controlar la visualizaci n de objetos Displayable y obtener propiedades del display num colores etc S lo uno por MIDlet singleton Obtencion del objeto Display static Display Display getDisplay MIDlet m Obtener el Displayable que se est visualizando Displayable getCurrent Establecer el Displayable a visualizar current void setCurrent Displayable nextDisplayable void setCurrent Alert alert Displayable nextDisplayable PROGRAMACI N EN MIDP P g 23 cC BB BB 2 g7 VT Interfaz gr fico Eventos y su gesti n Mismo modelo que AWT Fuentes de eventos y escuchadores listeners de evento Gesti n de eventos en el mismo thread en el que se produce el evento Eventos de alto nivel Command e CommandListener Fuentes Displayable ItemStateChanged e ItemStateList
18. lication Management System debe gestionar la lista de MiDlets instalados y sus versiones Puede as actualizar de versiones m s antiguas a m s recientes del MIDlet e Los atributos del MIDlet incluida la versi n estan En el descriptor del MIDlet JAD En el manifiesto del MIDlet contenido en el JAR PROGRAMACI N EN MIDP P g 9 lt o o MiDlet Borrado e Atrav s del Application Management System puede borrarse un MIDlet cuando no va a utilizarse m s e Se borra MIDlet Todos los registros en memoria permanente escritos por ese MIDlet PROGRAMACI N EN MIDP P g 10 MIDlet JAR y Manifiesto Incluye los ficheros de clases y otros recursos asociados al MIDlet por ejemplo im genes Fichero JAR formato est ndar puede contener varios MiDlets es lo que se denomina MIDlet Suite El manifiesto est incluido en el JAR y contiene informaci n sobre los contenidos del fichero JAR Atributos obligatorios Atributos opcionales MIDlet Name MIDlet Description MIDlet Version MIDlet Icon MIDlet Vendor MIDlet Info URL MIDlet n name icon class MIDlet Data Size MicroEdition Profile MIDlet Jar Size MicroEdition Configuration MIDlet Jar URL PROGRAMACI N EN MIDP P g 11 MiDlet Descriptor JAD Permite que el Application Management System verifique si el MIDlet es indicado antes de descargarlo Es un fichero de texto con extensi n jad
19. n StreamConnection DatagramConnection Env o y recepci n de datagramas PROGRAMACI N EN MIDP P g 56 GCF Interfaces de conexi n en MIDP CommConnection extiende de StreamConnection Conexi n a puerto serie comm HttpConnection extiende ContentConnection Conexi n HTTP http HttpsConnection extiende HttpConnection Conexion HTTP segura https SocketConnection extiende de StreamConnection Socket TCP IP socket ServerSocketConnection extiende de StreamConnectionNotifier Socket pasivo TCP IP socket SecureConnection extiende de SocketConnection Socket seguro ss1 UDPDatagramConnection extiende de DatagramConnection Conexi n de datagramas TCP IP datagram PROGRAMACI N EN MIDP P g 57 NC m GCF Clase Connector e M todo open Conexi n HTTP Connector open http www it uc3m es Conexi n datagrama e Connector open datagram www webyu com 9000 Conexi n puerto serie e Connector open comm 0 baudrate 9600 Acceso a ficheros Connector open file miFichero txt PROGRAMACI N EN MIDP P g 58 GCF Clase HTTPConnection e Extiende ContentConnection e Estados de la conexi n Setup Connected Closed e Transici n de Setup a Connected motivada por cualquier m todo que requiera env
20. ork This will use airtime and may result n charges s it OK to use airtime Ver c digo HTTPTest java HTTPExample zip proyecto WTK
21. t offset int numBytes PROGRAMACI N EN MIDP P g 48 RMS Cabecera RecordStore e La cabecera de un RecordStore proporciona la siguiente informaci n N mero de records en el RecordStore e int getNumRecords N mero de versi n e int getVersion Momento de la ltima modificaci n long getLastModified Identificador del siguiente recordID siguiente record que ser a adido getNextRecordID PROGRAMACION EN MIDP Pag 49 tii SS RMS Interfaz RecordListener e Monitorizar cambios en RecordStores e Gesti n de eventos mediante los m todos void recordAdded RecordStore recordStore int recordId void recordChanged RecordStore recordStore int recordId void recordDeleted RecordStore recordStore int recordId e Para a adir y borrar listeners void addRecordListener RecordListener listener void removeRecordListener RecordListener listener PROGRAMACI N EN MIDP P g 50 RMS Interfaz RecordEnumeration Despu s de borrar records sus identificadores ya no son consecutivos Para recorrerlos se proporciona la clase RecordEnumeration Lista doblemente enlazada en la que cada nodo representa un record Se obtiene a trav s del m todo e RecordEnumeration enumerateRecords RecordFilter filter RecordComparator comparator boolean keepUpdated M todos void reset puntero al primer elemento de la lista int nextRecordI
22. uite Los MiDlets en un MIDlet Suite comparten recursos Contenidos en el JAR RMS creados por los otros MiDlets en el mismo MIDlet Suite PROGRAMACI N EN MIDP P g 14 Hola Mundo en MIDP import javax microedition midlet import javax microedition lcdui public class HelloWorld extends MIDlet implements CommandListener private Display display private TextBox mainScreen null private Command exit new Command exit Command EXIT 2 public HelloWorld display Display getDisplay this mainScreen new TextBox Text Box Hola alumnos de SWC 512 0 mainScreen addCommand exit mainScreen setCommandListener this PROGRAMACI N EN MIDP P g 15 Hola Mundo en MIDP public void startApp display setCurrent mainScreen public void pauseApp public void destroyApp boolean unconditional public void commandAction Command c Displayable s if c exit destroyApp false notifyDestroyed PROGRAMACI N EN MIDP P g 16 Hola Mundo en MIDP e Fichero JAD MIDlet 1 HelloWorld HelloWorld png HelloWorld MIDlet Jar Size 1183 MIDlet Jar URL HelloWorld Jar MIDlet Name HelloWorld MIDlet Vendor Sun Microsystems MIDlet Version 1 0 MicroEdition Configuration CLDC 1 0 MicroEdition Profile MIDP 1 0 PROGRAMACI N EN MIDP P g 17 Hola Mundo en MIDP e Manifiesto MIDlet 1 HelloWorld
Download Pdf Manuals
Related Search
Related Contents
PNY GC-69V03453-CG NVIDIA GeForce GTX 680 4GB graphics card 05.車との上手なつきあいかた Woods Equipment L306A-3 User's Manual Copyright © All rights reserved.
Failed to retrieve file