Você está na página 1de 18

Universidad de Murcia Area de Tecnolog de la Informacin as o y Comunicaciones Aplicadas

Cursos de Promocion Educativa

Desarrollo de Aplicaciones Java para Dispositivos Moviles J2ME

Autor Flix Gmez Mrmol e o a


http://ants.dif.um.es/felixgm felixgm@um.es

Flix Gmez Mrmol e o a

http://ants.dif.um.es/felixgm/docencia/j2me

Indice general
Indice General Indice de Figuras Indice de Tablas 6 9 12

Introduccin o
1. 2. 3. 4. 5. 6. Presentacin o Motivacin . o Contenidos . Objetivos . . Metodolog y a Neosistec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Evaluacin o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13
13 14 14 16 17 18

Parte I. Desarrollo de Aplicaciones Java para Dispositivos Mviles J2ME o


1. Introduccin a J2ME. Conceptos bsicos o a 1.1. Breve introduccin a J2ME . . . . . . . . . o 1.2. Conguraciones . . . . . . . . . . . . . . . . 1.3. Perles . . . . . . . . . . . . . . . . . . . . . 1.4. Arquitectura de J2ME . . . . . . . . . . . . 1.5. KVM, CLDC y MIDP . . . . . . . . . . . . 1.6. JVM, CDC, FP, PBP y PP . . . . . . . . . 1.6.1. Foundation Prole . . . . . . . . . . 1.6.2. Personal Basis Prole . . . . . . . . 1.6.3. Personal Prole . . . . . . . . . . . . 1.6.4. Diferencias entre PP y JDK 1.3 . . . 1.6.5. Diferencias entre PP y PersonalJava 2. Entorno de desarrollo NetBeans 2.1. Introduccin . . . . . . . . . . . . . . . . . o 2.2. Instalacin de NetBeans . . . . . . . . . . o 2.2.1. Instalacin de la JDK 6 Update 22 o 2.2.2. Instalacin de NetBeans 6.9.1 . . . o 2.3. Manejo de NetBeans 6.9.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21
21 21 22 23 23 23 26 26 27 27 28 29 31 31 31 31 32 34 37 37 40 41 3

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

3. Primer Midlet: HelloMidlet 3.1. Cmo crearlo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 3.1.1. Vista Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2. Vista Screen Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flix Gmez Mrmol e o a http://ants.dif.um.es/felixgm/docencia/j2me

INDICE GENERAL

3.1.3. Vista Source . . . . . . . . . . . . . . . . . 3.1.4. Vista Analyzer . . . . . . . . . . . . . . . . 3.2. Explorando el cdigo . . . . . . . . . . . . . . . . . o 3.2.1. Clase MIDlet . . . . . . . . . . . . . . . . . 3.2.2. Clase Display . . . . . . . . . . . . . . . . 3.2.3. Clase Command e interfaz CommandListener 3.3. Compilacin y ejecucin del Midlet . . . . . . . . . o o 4. Emulador VS dispositivo real 4.1. Java(TM) Platform Micro Edition SDK 3.0 . . 4.2. Ficheros JAR y JAD . . . . . . . . . . . . . . . 4.3. Instalacin en un dispositivo real . . . . . . . . o 4.4. Restricciones de diseo en dispositivos mviles n o 5. Ventanas, men s y alertas u 5.1. Ventanas . . . . . . . . . . . . . 5.1.1. Clase TextBox . . . . . . 5.1.2. Clase Form . . . . . . . . 5.1.3. Transicin entre ventanas o 5.2. Mens. Prioridades de comandos u 5.3. Alertas (clase Alert) . . . . . . . 5.3.1. Alertas con sonidos . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

42 42 43 43 44 45 46 51 51 52 54 55 57 57 58 59 60 63 64 65 67 67 70 73 73 75 75 79 80 81 81

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

6. Formularios, listas y botones 6.1. Formularios . . . . . . . . . . . . . . . 6.2. Listas . . . . . . . . . . . . . . . . . . 6.3. Botones . . . . . . . . . . . . . . . . . 6.3.1. Interfaz ItemCommandListener 7. Imgenes, check boxes y a 7.1. Imgenes . . . . . . . a 7.2. Check boxes . . . . . . 7.3. Barras de progreso . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

barras de progreso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8. Actividad nal 8.1. Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o

Parte II. Desarrollo Avanzado de Aplicaciones Java para Dispositivos Mviles J2ME o
1. Breve repaso de J2ME y NetBeans 1.1. J2ME. Repasando conceptos . . . . . 1.1.1. Conguraciones . . . . . . . . 1.1.2. Perles . . . . . . . . . . . . 1.2. Repaso de NetBeans . . . . . . . . . 1.2.1. Instalacin de NetBeans 5.5.1 o 1.2.2. Manejo de NetBeans 5.5.1 . . 1.2.3. Vista Flow Design . . . . . . . 1.2.4. Vista Screen Design . . . . . . 1.2.5. Vista Source . . . . . . . . . Flix Gmez Mrmol e o a

85
85 85 86 88 90 90 91 95 96 97 4

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

http://ants.dif.um.es/felixgm/docencia/j2me

INDICE GENERAL

2. Manejo de cheros. Lectura y escritura 99 2.1. Modelo de Threads en J2ME . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 2.2. Record Management System (RMS) . . . . . . . . . . . . . . . . . . . . . . . 102 2.3. JSR-75. Acceso al sistema de cheros . . . . . . . . . . . . . . . . . . . . . . . 106 3. Gestin de la comunicacin Bluetooth o o 3.1. Introduccin al protocolo Bluetooth . . . . . . o 3.2. JSR-82. Gestin de la comunicacin Bluetooth o o 3.2.1. Paquete javax.obex . . . . . . . . . . . 3.2.2. Paquete javax.bluetooth . . . . . . . 3.3. Bsqueda de dispositivos . . . . . . . . . . . . . u 3.3.1. Clase LocalDevice . . . . . . . . . . . . 3.3.2. Clase DeviceClass . . . . . . . . . . . . 3.3.3. Clase UUID . . . . . . . . . . . . . . . . 3.3.4. Clase DiscoveryAgent . . . . . . . . . . 3.3.5. Interfaz DiscoveryListener . . . . . . 3.3.6. Clase RemoteDevice . . . . . . . . . . . 3.4. Bsqueda de servicios . . . . . . . . . . . . . . u 3.4.1. Interfaz ServiceRecord . . . . . . . . . 3.4.2. Clase DataElement . . . . . . . . . . . . 3.5. Establecimiento de la conexin . . . . . . . . . o 3.5.1. Cliente . . . . . . . . . . . . . . . . . . . 3.5.2. Servidor . . . . . . . . . . . . . . . . . . 3.6. Comunicacin . . . . . . . . . . . . . . . . . . . o 3.7. BluetoothMidlet . . . . . . . . . . . . . . . . . 4. Env y recepcin de SMS o o 4.1. JSR-120 vs JSR-205 . . . . . . . . . 4.2. Env de SMS . . . . . . . . . . . . . o 4.2.1. Interfaz Message . . . . . . . 4.2.2. Interfaz MessageConnection 4.2.3. Interfaz TextMessage . . . . 4.3. Recepcin de SMS . . . . . . . . . . o 4.3.1. Interfaz MessageListener . . 4.3.2. Push Registry . . . . . . . . . 4.4. Seguridad y permisos . . . . . . . . . 4.5. SMSMidlet . . . . . . . . . . . . . . 111 111 111 111 112 112 112 113 114 115 117 118 119 119 120 124 124 125 126 127 129 129 130 130 130 131 131 132 132 134 135 137 137 137 138 139 139 139 141 143 143 143 144 5

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

5. Env y recepcin de MMS o o 5.1. JSR-205 . . . . . . . . . . . . . . . . . . . . 5.2. Estructura de un mensaje MMS . . . . . . . 5.2.1. Campos de cabecera accesibles . . . 5.2.2. Direccionamiento de mensajes MMS 5.3. Env y recepcin de MMS . . . . . . . . . o o 5.3.1. Clase MessagePart . . . . . . . . . . 5.3.2. Interfaz MultipartMessage . . . . . 5.3.3. Identicador de aplicacin . . . . . . o 5.3.4. Seguridad y permisos . . . . . . . . 5.3.5. Centro de mensajer multimedia . . a 5.4. MMSMidlet . . . . . . . . . . . . . . . . . . Flix Gmez Mrmol e o a

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

http://ants.dif.um.es/felixgm/docencia/j2me

Indice General

6. Manejo de conexiones HTTP y HTTPS 6.1. Generic Connection Framework . . . . . 6.1.1. Conexiones soportadas . . . . . . 6.2. Conexiones HTTP . . . . . . . . . . . . 6.2.1. Interfaz HttpConnection . . . . 6.3. Conexiones HTTPS . . . . . . . . . . . 6.3.1. Interfaz HttpsConnection . . . . 6.3.2. Interfaz SecurityInfo . . . . . . 6.3.3. Interfaz Certificate . . . . . . 6.4. HTTPMidlet . . . . . . . . . . . . . . . 7. Otras posibilidades con J2ME: 7.1. Clase Canvas . . . . . . . . . 7.1.1. Clase Graphics . . . . 7.1.2. Eventos de teclado . . 7.1.3. Acciones de juego . . 7.1.4. Comandos . . . . . . . 7.2. CanvasMidlet . . . . . . . . . Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

147 147 148 149 149 152 152 153 153 154 157 157 159 162 162 163 165

y Juegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

8. Actividad nal 167 8.1. Descripcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 o

Apndices e

169

A. CLDC y MIDP 169 A.1. API CLDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 A.2. API MIDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 B. Protocolo Bluetooth B.1. Arquitectura Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . B.2. Perles de Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . B.3. La pila de protocolos de Bluetooth . . . . . . . . . . . . . . . . . . . B.3.1. La capa de radio . . . . . . . . . . . . . . . . . . . . . . . . . B.3.2. La capa de banda base . . . . . . . . . . . . . . . . . . . . . . B.3.3. Link Manager . . . . . . . . . . . . . . . . . . . . . . . . . . B.3.4. Host Controller Interface . . . . . . . . . . . . . . . . . . . . B.3.5. Protocolo de adaptacin y control de enlaces lgicos L2CAP o o B.3.6. RFCOMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.3.7. TCS y SDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.4. La capa de radio de Bluetooth . . . . . . . . . . . . . . . . . . . . . B.5. La capa de banda base de Bluetooth . . . . . . . . . . . . . . . . . . B.6. La capa L2CAP de Bluetooth . . . . . . . . . . . . . . . . . . . . . . B.7. Estructura de la trama de Bluetooth . . . . . . . . . . . . . . . . . . B.8. Java y Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.8.1. Inicializacin de la pila . . . . . . . . . . . . . . . . . . . . . . o B.8.2. Descubrimiento de dispositivos y servicios . . . . . . . . . . . B.8.3. Manejo del dispositivo . . . . . . . . . . . . . . . . . . . . . . B.8.4. Comunicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . o C. Acrnimos o 173 173 174 175 175 175 176 176 176 176 176 177 177 178 178 179 179 180 181 181 183

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

Bibliograf a
Flix Gmez Mrmol e o a http://ants.dif.um.es/felixgm/docencia/j2me

185
6

Indice de Figuras
Desarrollo de Aplicaciones Java para Dispositivos Mviles J2ME . . . . . . . . . . . . . . . . . . . . . o
1.1. 1.2. 1.3. 1.4. 1.5. 1.6. Plataformas de Java: J2EE, J2SE, J2ME y Java Card . . . . . . . Arquitectura genrica de J2ME . . . . . . . . . . . . . . . . . . . . e Arquitecturas CDC y CLDC de J2ME . . . . . . . . . . . . . . . . Jerarqu de interfaces del GCF . . . . . . . . . . . . . . . . . . . . a Jerarqu de clases e interfaces de MIDP . . . . . . . . . . . . . . . a J2SE, Personal Prole, Personal Basis Prole y Foundation Prole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . inicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21 21 23 24 25 26 28 32 32 32 33 33 33 34 34 35 35 37 38 38 39 39 40 41 42 43 44 46 47 47 48 48 51 53 53 57 7

2.1. Instalacin de la JDK 6 Update 22 (I) . . . . . . . . . . o 2.2. Instalacin de la JDK 6 Update 22 (II) . . . . . . . . . . o 2.3. Instalacin de la JDK 6 Update 22 (III) . . . . . . . . . o 2.4. Instalacin de NetBeans 6.9.1 (I) . . . . . . . . . . . . . o 2.5. Instalacin de NetBeans 6.9.1 (II) . . . . . . . . . . . . . o 2.6. Instalacin de NetBeans 6.9.1 (III) . . . . . . . . . . . . o 2.7. Instalacin de NetBeans 6.9.1 (IV) . . . . . . . . . . . . o 2.8. Entorno de desarrollo NetBeans. Proyecto de Pgina de a 2.9. NetBeans. Plataformas Java (I) . . . . . . . . . . . . . . 2.10. NetBeans. Plataformas Java (II) . . . . . . . . . . . . . 3.1. Creacin del Midlet HelloMidlet (I) . . o 3.2. Creacin del Midlet HelloMidlet (II) . o 3.3. Creacin del Midlet HelloMidlet (III) . o 3.4. Creacin del Midlet HelloMidlet (IV) . o 3.5. Creacin del Midlet HelloMidlet (V) . o 3.6. Vista Flow del Midlet HelloMidlet . . . 3.7. Vista Screen del Midlet HelloMidlet . . 3.8. Vista Source del Midlet HelloMidlet . . 3.9. Vista Analyzer del Midlet HelloMidlet . 3.10. Jerarqu de clases e interfaces de MIDP a 3.11. Compilando el Midlet HelloMidlet (I) . 3.12. Compilando el Midlet HelloMidlet (II) 3.13. Compilando el Midlet HelloMidlet (III) 3.14. Ejecutando el Midlet HelloMidlet (I) . 3.15. Ejecutando el Midlet HelloMidlet (II) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.1. Midlet de ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Cmo consultar las propiedades de un proyecto . . . . . . . . . . . . . . . . . o 4.3. Propiedades del Midlet HelloMidlet . . . . . . . . . . . . . . . . . . . . . . . 5.1. Jerarqu de clases e interfaces de MIDP . . . . . . . . . . . . . . . . . . . . . a Flix Gmez Mrmol e o a http://ants.dif.um.es/felixgm/docencia/j2me

Indice General

5.2. 5.3. 5.4. 5.5. 5.6. 6.1. 6.2. 6.3. 6.4. 6.5.

Creacin de un nuevo Visual MIDlet . . . o MyFirstMidlet. Vista Flow Design (I) . MyFirstMidlet. Vista Flow Design (II) . MyFirstMidlet. Vista Flow Design (III) Ejemplo de men . . . . . . . . . . . . . u MyFormMidlet. MyFormMidlet. MyFormMidlet. MyFormMidlet. MyListMidlet. Vista Vista Vista Vista Vista

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

60 61 61 62 63 68 69 69 70 72 77 78 78

Flow . . . . . . . . . . . . . . . . . . . Screen. Restricciones de un TextField Screen. Elementos StringItem . . . . Source . . . . . . . . . . . . . . . . . . Flow . . . . . . . . . . . . . . . . . . .

7.1. Vista Screen del Midlet MyImagesMidlet . . . . . . . . . . . . . . . . . . . . . 7.2. Cmo aadir un nuevo recurso de imagen en NetBeans . . . . . . . . . . . . . o n 7.3. Cmo asociar un chero de imagen a un recurso de imagen en NetBeans . . . o

Desarrollo Avanzado de Aplicaciones Java para Dispositivos Mviles J2ME . . . . . . . . . . . . . . . . . . . . . o


1.1. Plataformas de Java: J2EE, J2SE, J2ME y Java Card . 1.2. Jerarqu de interfaces del GCF . . . . . . . . . . . . . . a 1.3. Jerarqu de clases e interfaces de MIDP . . . . . . . . . a 1.4. Entorno de desarrollo NetBeans. Proyecto de Bienvenida 1.5. NetBeans. Administrador de plataforma Java (I) . . . . 1.6. NetBeans. Administrador de plataforma Java (II) . . . . 1.7. NetBeans. Administrador de plataforma Java (III) . . . 1.8. NetBeans. Administrador de plataforma Java (IV) . . . 1.9. NetBeans. Administrador de plataforma Java (V) . . . . 1.10. NetBeans. Administrador de plataforma Java (VI) . . . 1.11. Vista Flow Design del Midlet HelloMidlet . . . . . . . . 1.12. Vista Screen Design del Midlet HelloMidlet . . . . . . . 1.13. Vista Source del Midlet HelloMidlet . . . . . . . . . . . 1.14. Mostrando la numeracin de l o neas de cdigo . . . . . . o 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 4.1. 4.2. 4.3. 4.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85 85 87 88 91 92 92 93 93 94 94 95 96 97 97 100 104 105 108 109 110 117 119 122 124 127 128 129 134 135 135 8

Modelo de Threads en J2ME con NetBeans . . . . . . . . . . . . . Vista Flow Design del Midlet NotesRMSStoreMidlet . . . . . . . . Ejecutando el Midlet NotesRMSStoreMidlet . . . . . . . . . . . . . Vista Flow Design del Midlet FileExplorerMidlet . . . . . . . . . Ejecutando el Midlet FileExplorerMidlet. Leyendo un chero . . Ejecutando el Midlet FileExplorerMidlet. Escribiendo un chero Diagrama de estados del descubrimiento de dispositivos Bluetooth SDDB (Service Discovery DataBase) . . . . . . . . . . . . . . . . . Diagrama de estados del descubrimiento de servicios Bluetooth . . GCF y conexiones Bluetooth . . . . . . . . . . . . . . . . . . . . . Vista Flow Design del Midlet MyBluetoothMidlet . . . . . . . . . . Ejecutando el Midlet MyBluetoothMidlet . . . . . . . . . . . . . . Integracin de las conexiones WMA en la GCF o Push Registry en NetBeans . . . . . . . . . . . Permisos para las APIs en NetBeans . . . . . . Vista Flow Design del Midlet SMSMidlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Flix Gmez Mrmol e o a

http://ants.dif.um.es/felixgm/docencia/j2me

INDICE DE FIGURAS

4.5. Ejecutando el Midlet SMSMidlet . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.1. 5.2. 5.3. 5.4. 6.1. 6.2. 6.3. 6.4. 7.1. 7.2. 7.3. 7.4. Clases e interfaces de la WMA 2.0 . . . Estructura de un mensaje MMS . . . . . Vista Flow Design del Midlet MMSMidlet Ejecutando el Midlet MMSMidlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 138 144 145 147 152 154 155 159 161 163 165

Jerarqu de interfaces de la GCF de CLDC a HTTPS dentro de la pila TCP/IP . . . . . Vista Flow Design del Midlet HTTPMidlet . Ejecutando el Midlet HTTPMidlet . . . . . .

Sistema de coordenadas empleado por la clase Graphics . . Tableros de tamao n n, con n = 2, 3, 9 . . . . . . . . . . n Tableros de tamao n n, con n = 2, 3, 9 pintando la casilla n Ejecutando el Midlet CanvasMidlet . . . . . . . . . . . . .

. . . . . . . . actual . . . .

Apndice B. Protocolo Bluetooth . . . . . . . . . . . . . . . . . . . . . . . 173 e


B.1. B.2. B.3. B.4. B.5. B.6. Scatternet formada por 12 piconets . . . . . . . . . . . . . . . . Pila de protocolos de Bluetooth . . . . . . . . . . . . . . . . . . Host Controller Interface . . . . . . . . . . . . . . . . . . . . . Coexistencia de Bluetooth y 802.11 en la banda de los 24 GHz Estructura de la trama de Bluetooth . . . . . . . . . . . . . . . Integracin de la JSR-82 en la pila de protocolos Bluetooth . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 175 176 177 178 181

Flix Gmez Mrmol e o a

http://ants.dif.um.es/felixgm/docencia/j2me

Indice de Figuras

Flix Gmez Mrmol e o a

http://ants.dif.um.es/felixgm/docencia/j2me

10

Indice de Tablas
Desarrollo de Aplicaciones Java para Dispositivos Mviles J2ME . . . . . . . . . . . . . . . . . . . . . o
3.1. 3.2. 3.3. 3.4. 4.1. 4.2. 4.3. 4.4. 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 6.1. 6.2. 6.3. 6.4. 6.5. 7.1. 7.2. 7.3. 7.4. Mtodos e Mtodos e Mtodos e Mtodos e de de de de la la la la clase javax.microedition.midlet.MIDlet . . . . . . . clase javax.microedition.lcdui.Display . . . . . . . clase javax.microedition.lcdui.Command . . . . . . . interfaz javax.microedition.lcdui.CommandListener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21 43 45 45 45 52 52 54 54 57 58 58 59 64 64 67 68 71 71 73 76 76 79 80

Atributos del chero manifest.mf . . . . . . . . . . . Contenido del maniesto del chero HelloMidlet.jar Atributos de un chero JAD . . . . . . . . . . . . . . . Contenido del chero HelloMidlet.jad . . . . . . . .

Mtodos de la clase javax.microedition.lcdui.Screen . . . . e Mtodos de la clase javax.microedition.lcdui.TextBox . . . . e Restricciones de la clase javax.microedition.lcdui.TextField Mtodos de la clase javax.microedition.lcdui.Form . . . . . . e Mtodos de la clase javax.microedition.lcdui.Alert . . . . . e Tipos de javax.microedition.lcdui.AlertType . . . . . . . .

Mtodos de la clase javax.microedition.lcdui.TextField . . . . e Mtodos de la clase javax.microedition.lcdui.StringItem . . . . e Tipos de opcin de la interfaz javax.microedition.lcdui.Choice o Mtodos de la clase javax.microedition.lcdui.List . . . . . . . . e Modos de apariencia de la clase javax.microedition.lcdui.Item . Mtodos e Mtodos e Mtodos e Mtodos e de de de de la la la la clase clase clase clase javax.microedition.lcdui.Image . . . . javax.microedition.lcdui.ImageItem . javax.microedition.lcdui.ChoiceGroup javax.microedition.lcdui.Gauge . . . . . . . . . . . . . . . .

Desarrollo Avanzado de Aplicaciones Java para Dispositivos Mviles J2ME . . . . . . . . . . . . . . . . . . . . . o

85

2.1. Mtodos de la clase javax.microedition.rms.RecordStore . . . . . . . . . 102 e 2.2. Contenido del paquete javax.microedition.io.file . . . . . . . . . . . . . 106 2.3. Mtodos de la interfaz javax.microedition.io.file.FileConnection . . . 106 e 3.1. 3.2. 3.3. 3.4. Mtodos de la clase javax.bluetooth.LocalDevice . . . . . . . . . . . . . . 112 e Mtodos de la clase javax.bluetooth.DeviceClass . . . . . . . . . . . . . . 113 e Algunos valores para el tipo de dispositivo de la clase javax.bluetooth.DeviceClass114 UUIDs ms comunes en Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . 114 a http://ants.dif.um.es/felixgm/docencia/j2me 11

Flix Gmez Mrmol e o a

Indice de Tablas

3.5. Mtodos de la clase javax.bluetooth.UUID . . . . . . . . . . . . . . . . . . . e 3.6. Mtodos de la clase javax.bluetooth.DiscoveryAgent . . . . . . . . . . . . e 3.7. Campos estticos de la clase javax.bluetooth.DiscoveryAgent indicando la a conectividad del dispositivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8. Mtodos de la interfaz javax.bluetooth.DiscoveryListener . . . . . . . . e 3.9. Mtodos de la clase javax.bluetooth.RemoteDevice . . . . . . . . . . . . . e 3.10. Mtodos de la interfaz javax.bluetooth.ServiceRecord . . . . . . . . . . . e 3.11. Tipos de datos DataElement . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12. Mtodos de la clase javax.bluetooth.DataElement . . . . . . . . . . . . . . e 4.1. 4.2. 4.3. 4.4. Mtodos e Mtodos e Mtodos e Mtodos e de de de de la la la la interfaz javax.wireless.messaging.Message . . . . . . . interfaz javax.wireless.messaging.MessageConnection interfaz javax.wireless.messaging.TextMessage . . . . clase javax.microedition.io.PushRegistry . . . . . . . . . . . . . . .

115 115 115 117 118 119 120 122 130 130 131 133

5.1. Mtodos de la clase javax.wireless.messaging.MessagePart . . . . . . . . 140 e 5.2. Mtodos de la interfaz javax.wireless.messaging.MultipartMessage . . . 141 e 6.1. 6.2. 6.3. 6.4. 6.5. Esquemas URL y tipos de conexin asociados en la GCF . . . . . . o Mtodos de la interfaz javax.microedition.io.HttpConnection e Mtodos de la interfaz javax.microedition.io.HttpsConnection e Mtodos de la interfaz javax.microedition.io.SecurityInfo . . e Mtodos de la interfaz javax.microedition.pki.Certificate . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 150 152 153 153

7.1. Mtodos de la clase javax.microedition.lcdui.Canvas . . . . . . . . . . . 158 e 7.2. Mtodos de la clase javax.microedition.lcdui.Graphics . . . . . . . . . . 160 e

Apndice A. CLDC y MIDP . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 e


A.1. Paquete java.lang . . . . . . . . . . . . . . . . . . . . . . . . A.2. Paquete java.util . . . . . . . . . . . . . . . . . . . . . . . . A.3. Paquete java.io . . . . . . . . . . . . . . . . . . . . . . . . . A.4. Paquete javax.microedition.io . . . . . . . . . . . . . . . A.5. Extensin de MIDP al paquete java.lang . . . . . . . . . . . o A.6. Extensin de MIDP al paquete java.util . . . . . . . . . . . o A.7. Extensin de MIDP al paquete javax.microedition.rms . . o A.8. Extensin de MIDP al paquete javax.microedition.midlet o A.9. Extensin de MIDP al paquete javax.microedition.io . . . o A.10.Extensin de MIDP al paquete javax.microedition.lcdui . o Apndice B. Protocolo Bluetooth . . . . . . . . . . . . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 169 170 170 170 170 170 171 171 171 173

B.1. Perles de Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 B.2. Clases de dispositivos Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . 175

Flix Gmez Mrmol e o a

http://ants.dif.um.es/felixgm/docencia/j2me

12

Introduccin o
1. Presentacin o

Este curso de promocin educativa pretende dar una visin general y completa acero o ca del lenguaje de programacin para dispositivos mviles Java 2 Micro Edition, ms o o a comnmente conocido por sus siglas J2ME. u

El curso, titulado Desarrollo de Aplicaciones Java para Dispositivos Mviles J2ME, se o enmarca dentro de los cursos de promocin educativa ofrecidos por el Area de Tecnolog o as de la Informacin y las Comunicaciones Aplicadas (ATICA) de la Universidad de Murcia. o

Est dirigido principalmente a todas aquellas personas que cuenten con unos conocimiena tos bsicos de programacin en el lenguaje Java y que deseen ampliar sus conocimientos y a o habilidades para ser capaces de desarrollar aplicaciones escritas en J2ME orientadas a dispositivos mviles tales como telfonos mviles, PDAs o Smartphones. o e o Las principales caracter sticas del curso son: 6 crditos ECTS e Curso virtual (on-line) a travs de la plataforma educativa SUMA (https://suma.um.es) e Posibilidad de solicitud de beca Posibilidad de pago con tarjeta de crdito e No alumnos: m nimo 20 / mximo 40 a Web: http://ants.dif.um.es/~felixgm/docencia/j2me Flix Gmez Mrmol e o a http://ants.dif.um.es/felixgm/docencia/j2me 13

Introduccin o

2.

Motivacin o

Mientras que la enseanza del lenguaje de programacin Java ha recibido una gran atenn o cin desde muchos rganos de direccin docente y ha sido incluido en la mayor de planes o o o a docentes de carreras como Informtica, Telecomunicaciones, Matemticas, etc., se ha prestado a a poca atencin al desarrollo de aplicaciones Java para dispositivos mviles J2ME. o o En este curso se mostrar la facilidad con la que, contando con unos conocimientos bsicos a a de programacin en Java, es posible desarrollar rpidamente una aplicacin para un disposio a o tivo mvil J2ME. o Adems, muchas empresas del sector de las TIC (Tecnolog de la Informacin y las a as o Comunicaciones) estn apostando por las comunicaciones y los productos orientados a disa positivos mviles. Sin embargo, existe un gran vac de profesionales y expertos en este sector o o que hacen de esta tecnolog un campo de inters muy importante. a e

Pensemos que hoy en d todos llevamos encima, a todas horas, un dispositivo mvil (lase a o e telfono mvil) con capacidad de ejecutar aplicaciones J2ME (en la inmensa mayor de las e o a ocasiones). Se trata pues, de un mercado con grandes posibilidades al cual an no se le ha u sacado todo el partido posible.

3.

Contenidos

Este curso de desarrollo de aplicaciones Java para dispositivos mviles J2ME se divide, a o su vez, en dos cursos, uno de iniciacin y otro avanzado. o El curso de iniciacin, formalmente titulado Desarrollo de Aplicaciones Java para o Dispositivos Mviles J2ME, trata de dar una visin bsica del lenguaje J2ME y est orio o a a entado principalmente a aquellas personas que no hayan tenido ningn contacto previo con u J2ME, o con conocimientos m nimos. El curso se divide en los siguientes 8 temas: 1. Introduccin a J2ME. Conceptos bsicos o a En este tema se vern los conceptos bsicos sobre J2ME, la arquitectura en cona a guraciones (CLDC, CDC) y perles (MIDP), la mquina virtual KVM, as como las a principales librer de conexiones (interfaz Connection) y grcos (clase Display). as a Flix Gmez Mrmol e o a http://ants.dif.um.es/felixgm/docencia/j2me 14

3 Contenidos

2. Entorno de desarrollo NetBeans Este tema explicar cmo instalar Netbeans y cmo crear un nuevo proyecto de dea o o sarrollo de una aplicacin J2ME, as como buena parte de toda la funcionalidad que o ofrece. 3. Primer Midlet: HelloMidlet En este tema se desarrollar el primer Midlet del curso, HelloMidlet, al cual se le a aplicarn algunos cambios para conocer bien y mejor la estructura del cdigo subyaa o cente. 4. Emulador VS dispositivo real Aqu se ver de qu manera es posible depurar las aplicaciones desarrolladas en J2ME a e mediante un emulador de dispositivo mvil. Tambin se explicar en cualquier caso el o e a procedimiento para instalar correctamente nuestra aplicacin en un dispositivo mvil o o real nal. 5. Ventanas, men s y alertas u Este tema explicar las clases que modelan las ventanas, mens y alertas, describiendo a u sus funcionalidades y posibilidades. 6. Formularios, listas y botones En este tema se ver cmo desarrollar formularios sencillos en J2ME, adems de ver a o a las clases que implementan las listas de elementos y los botones. 7. Imgenes, check boxes y barras de progreso a Este tema cierra la explicacin de los conocimientos bsicos necesarios para desarrollar o a una aplicacin grca en J2ME. En l se explica cmo insertar imgenes, check boxes o a e o a y barras de progreso en una ventana. 8. Actividad nal En este ultimo tema se propone al alumno que, con todos los conocimientos adquiridos a lo largo del curso, desarrolle libremente un Midlet en J2ME donde se apliquen y se vean reejados dichos conocimientos. El profesor sugerir algunos ejercicios, en cualquier a caso. Por su parte, en el curso avanzado, formalmente titulado Desarrollo Avanzado de Aplicaciones Java para Dispositivos Mviles J2ME se explicarn algunas librer o a as opcionales de J2ME orientadas a desarrollar aplicaciones J2ME ms complejas y completas. a Este curso est principalmente enfocado a los alumnos que hayan realizado el curso bsico a a de J2ME y a todas aquellas personas que ya cuenten con unos conocimientos y un dominio bsico del lenguaje J2ME. El curso avanzado se divide tambin en otros 8 temas: a e 1. Breve repaso de J2ME y NetBeans En este tema se ver un repaso de los conceptos bsicos sobre J2ME, la arquitectura en a a conguraciones (CLDC, CDC) y perles (MIDP), la mquina virtual KVM, as como a las principales librer de conexiones (interfaz Connection) y grcos (clase Display). as a Tambin se recordar brevemente cmo desarrollar Midlets con el entorno de desarrollo e a o NetBeans. 2. Manejo de cheros. Lectura y escritura Este tema explicar cmo manejar cheros en dispositivos J2ME mediante la librer a o a JSR-75 PDA Optional Packages for the J2ME Platform. Se desarrollar un pequeo a n explorador de cheros. Flix Gmez Mrmol e o a http://ants.dif.um.es/felixgm/docencia/j2me 15

Introduccin o

3. Gestin de la comunicacin Bluetooth o o Aqu se ver de qu manera es posible gestionar comunicaciones Bluetooth en J2ME a e haciendo uso de la librer JSR-82 Java APIs for Bluetooth. Se mostrar cmo desa a o cubrir a otros dispositivos Bluetooth que se encuentren dentro del radio de alcance, cmo averiguar qu servicios ofrecen, cmo iniciar una conexin con ellos y cmo enviar o e o o o y recibir datos de los mismos a travs de Bluetooth. e 4. Env y recepcin de SMS o o En este tema se darn los conocimientos necesarios y sucientes para poder enviar y a recibir SMS desde un dispositivo mvil gracias a la librer JSR-205 Wireless Messaging o a API 2.0. 5. Env y recepcin de MMS o o Este tema explicar cmo se pueden enviar y recibir MMS desde un dispositivo J2ME a o haciendo uso de la librer JSR-205 Wireless Messaging API 2.0. Se estudiar la a a estructura de un MMS y cmo enviar y recibir MMS con datos adjuntos (imgenes, o a cheros, etc.). 6. Manejo de conexiones HTTP y HTTPS En este tema se ver cmo establecer conexiones de tipo HTTP y HTTPS en dispositivos a o J2ME y cmo enviar y recibir datos a travs de dichas conexiones. o e 7. Otras posibilidades con J2ME: Canvas y Juegos Este tema expone algunas otras posibilidades que ofrece el lenguaje J2ME y que no se pueden tratar con ms profundidad en el curso, como por ejemplo la librer de grcos a a a en 2D para el desarrollo de juegos. 8. Actividad nal En este ultimo tema se propone al alumno que, con todos los conocimientos adquiridos a lo largo del curso, desarrolle libremente un Midlet en J2ME donde se apliquen y se vean reejados dichos conocimientos. El profesor sugerir algunos ejercicios, en cualquier a caso.

4.

Objetivos

Los objetivos del curso de promocin educativa titulado Desarrollo de Aplicaciones o Java para Dispositivos Mviles J2ME son: o Introducir al alumno al lenguaje J2ME y hacerle ver el gran potencial que dicho lenguaje tiene, as como sus limitaciones Mostrar la facilidad de desarrollo con el entorno NetBeans Dar al alumno los conocimientos necesarios para desarrollar y desplegar aplicaciones J2ME sencillas Ensear el manejo de ventanas, mens, listas, alertas, botones, imgenes, etc. n u a

Flix Gmez Mrmol e o a

http://ants.dif.um.es/felixgm/docencia/j2me

16

5 Metodolog y Evaluacin a o

Los objetivos del curso de promocin educativa titulado Desarrollo Avanzado de o Aplicaciones Java para Dispositivos Mviles J2ME son: o Mostrar al alumno las capacidades ms avanzadas que posee el lenguaje J2ME a Ensear cmo manejar cheros (leer y escribir) en dispositivos mviles J2ME n o o Dar al alumno los conocimientos necesarios para gestionar comunicaciones Bluetooth y conexiones HTTP y HTTPS en J2ME Formar al alumno para enviar y recibir SMS y MMS mediante dispositivos mviles o J2ME Mostrar muchas otras posibilidades de desarrollo adicionales sobre dispositivos J2ME

5.

Metodolog y Evaluacin a o

IMPORTANTE!! A lo largo de cada uno de los cursos se propondrn al alumno varias actividades optativas a que podr realizar libremente (o no). Algunas de dichas actividades estarn incluso resueltas a a en la propia web del curso: http://ants.dif.um.es/~felixgm/docencia/j2me El alumno podr enviar a travs de SUMA los resultados de las actividades propuestas a e que desee que el profesor corrija (se sugiere que previamente compruebe que el ejercicio es similar a la solucin propuesta en la web del curso y se env slo en el caso de que surjan o e o dudas o problemas en la realizacin de los ejercicios). o Ambos cursos cuentan con un ultimo tema en el que se pide al alumno que, con todos los conocimientos adquiridos a lo largo del curso, desarrolle una aplicacin en J2ME en o la que se apliquen todos o algunos de los conceptos vistos. El profesor propondr algunas a actividades, aunque el alumno tiene la posibilidad de enviar su propia aplicacin, previa o puesta en conocimiento y consentimiento por parte del profesor (felixgm@um.es). La entrega de la aplicacin nal se har de la siguiente manera. El alumno deber subir a o a a la seccin Mis Contenidos de SUMA un chero comprimido en .ZIP que contenga la carpeta o completa del proyecto de NetBeans de dicha aplicacin, as como un chero contacto.txt o que contenga la informacin de contacto (e-mail y telfono mvil) de aquellos alumnos que o e o deseen participar en el concurso organizado por Neosistec. El nombre del chero tendr el a siguiente aspecto: apellidos.nombre-edicion-{basico|avanzado}-j2me-{SI|NO}.zip Por ejemplo: gomez-marmol.felix-VI-basico-j2me-NO.zip o gomez-marmol.felix-V-avanzado-j2me-SI.zip Donde {SI|NO} indicar la disposicin del alumno a participar en el concurso organizado a o por Neosistec.

Flix Gmez Mrmol e o a

http://ants.dif.um.es/felixgm/docencia/j2me

17

Introduccin o

6.

Neosistec

Neosistec, empresa de ambito nacional con sede en Murcia, que lidera el desarrollo de aplicaciones en movilidad sobre plataformas Java exportando las mismas actualmente a ms de 15 pa a ses, ha tenido conocimiento de los cursos on-line de promocin educativa de Desarrollo de Aplicaciones Java para o Dispositivos Mviles J2ME impartidos por la Universidad de Murcia. o Dada la calidad que hemos podido comprobar en dichos cursos y por encontrarnos en expansin en el rea de aplicaciones en movilidad, dentro de nuestro o a departamento de Desarrollo e Innovacin, estamos interesados en promover e o incentivar la participacin de nuevos alumnos en los mismos. o Es por esto que Neosistec desea ofrecer a los tres alumnos ms destacados a que hayan realizado dichos cursos la posibilidad de llevar a cabo unas prcticas a en nuestra empresa por 2 meses, prorrogables. Adicionalmente, aquel alumno de entre los tres ms destacados que presente un mejor proyecto de desarrollo en a J2ME ser obsequiado con un dispositivo mvil de ultima generacin. a o o El profesor de los cursos, en cada edicin de los mismos, seleccionar de entre o a aquellos alumnos que deseen participar en esta iniciativa, los tres candidatos que presenten los proyectos ms completos, innovadores, originales y prcticos. Una a a vez nalizados los cursos y seleccionados los candidatos, tendr lugar una sesin a o de exposicin y defensa de los proyectos presentados en las ocinas de Neosiso tec. Un tribunal compuesto por personal de la empresa seleccionar entonces al a ganador del dispositivo mvil de ultima generacin. o o Javier Pita Director de Neosistec http://www.neosistec.com

Flix Gmez Mrmol e o a

http://ants.dif.um.es/felixgm/docencia/j2me

18

Você também pode gostar