Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina
|
|
- Roberto Ramos Ponce
- hace 7 años
- Vistas:
Transcripción
1 Taller de Programación de Dispositivos Móviles José Miguel Rubio L. Oficina
2 Parte 1 1.Programación de dispositivos 2.Limitaciones de los dispositivos 3.Sistemas operativos 4.Desarrollo de aplicaciones 5.Java 2 Mobile Edition 6.Configuración CDC 7.Configuración CLDC 8.Paquetes opcionales en J2ME 9.MIDP: MIDlets 10.MIDP: Interfaces Gráficas de Usuario 11.MIDP: Persistencia 12.MIDP: Conexión por red 13.Persistencia II: Ficheros 14.Para terminar
3 MIDP: Midlets MIDP: MIDlets Una aplicación MIDP requiere la implementación de un MIDlet, cuya estructura recuerda los Applets y Servlets de J2SE import javax.microedition.midlet.midlet; public class EjemploMidlet extends MIDlet { public void startapp() { // Arrancar aplicación public void pauseapp() { // Parar aplicación public void destroyapp(boolean unconditional) { // Eliminar recursos Sistemas operativos
4 MIDP: Midlets De manera similar a un Applet, un MIDlet requiere la implementación de tres operaciones de la clase MIDlet: startapp(). Es llamada automáticamente cuando la aplicación debe comenzar su ejecución. pauseapp(). El dispositivo puede solicitar la parada temporal de la aplicación en cualquier momento. La reanudación implicará una nueva llamada a startapp() o la terminación definitiva mediante la llamada a destroyapp(). destroyapp(). Es invocada para solicitar la liberación de los recursos del MIDlet y cualquier tarea necesaria antes de su eliminación de memoria. Sistemas operativos
5 MIDP: Midlets Un conjunto de MIDlets se distribuye en un fichero.jar El MANIFEST del fichero jar es más complicado que los que conocemos Primero se indica el nombre global del conjunto de MIDlets del fichero jar, su versión, autor y las versiones de CLDC y MIDP necesarias Después cada MIDlet se describe mediante un nombre, el icono correspondiente y el nombre de la clase que lo implementa MIDlet-Name: EjemplosMIDP MIDlet-Version: 1.0 MIDlet-Vendor: ajrueda MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 MIDlet-1: Ejemplo,ejemplo.png,EjemploMidlet Sistemas operativos
6 MIDP: Interfaces Gráficas de Usuario MIDP: Interfaces Gráficas de Usuario MIDP proporciona una forma sencilla de construir interfaces de usuario adaptada a las limitaciones de pantalla, potencia de cálculo y batería de los dispositivos. En comparación con toolkits como Swing, la variedad y número de componentes existentes es muy pequeño. La interfaz se construye a base de distintas pantallas, en lugar de ventanas o diálogos. Las acciones del usuario definen la transición de una pantalla a otra. Sistemas operativos
7 MIDP: Interfaces Gráficas de Usuario Es importante tener en cuenta el pequeño tamaño la pantalla del dispositivo a la hora de diseñar la interfaz. La mayoría de los dispositivos dispone de un par de botones de acción cuyo efecto se puede programar para cada pantalla. Sistemas operativos
8 MIDP: Interfaces Gráficas de Usuario Para empezar hay que obtener el objeto Display que permite manejar la pantalla del dispositivo. La operación estática getdisplay() de esta clase devuelve el objeto Display d = Display.getDisplay() A continuación podemos establecer la pantalla actual mediante: d.setcurrent(displayable pantalla) Una vez obtenido el display, el MIDlet sigue el siguiente esquema de funcionamiento: 1.Crear una pantalla 2.Mostrarla mediante setcurrent() 3.Esperar las acciones del usuario 4.Elegir otra pantalla en función de estas acciones (volver a 1) Sistemas operativos
9 MIDP: Interfaces Gráficas de Usuario Las clases que implementan la interfaz Display able son las siguientes: TextBox List Alert Form Canvas Sistemas operativos
10 Crear y activar una pantalla TextBox es muy sencillo: TextBox t = new TextBox( Escribe un poema,, 500, TextField.ANY); d.setcurrent(t); Un Alert es similar a un messagebox de Swing, admitiendo distintos tipos. El tiempo de visualización del Alert es configurable mediante settimeout() Al llamar a setcurrent() es necesario indicar el siguiente displayable a mostrar tras el Alert Alert a = new Alert( Error, Error al salvar la información, null, AlertType.ERROR); a.settimeout(5000); d.setcurrent(a, siguientedisp);
11 MIDP: Interfaces Gráficas de Usuario El displayable Form permite definir una pantalla con múltiples Item (o componentes): StringItem. Similar a un label de Swing. Spacer. Un espacio con un ancho y alto determinado. Útil para distribuir los componentes. TextField. Un editor de texto con una etiqueta asociada. ImageItem. Una imagen con una etiqueta. DateField. Un editor que permite introducir una fecha/hora. Gauge. Sirve para representar de manera gráfica un valor entero. ChoiceGroup. Sirve para seleccionar valores de una lista predeterminada. Puede ser múltiple, exclusiva o popup Cualquier Item definido por el usuario
12 MIDP: Interfaces Gráficas de Usuario Los Form permiten crear interfaces mucho más ricas: Form f = new Form("Ficha deportiva"); f.append(new TextField("Apellidos", null, 40, TextField.ANY)); f.append(new TextField("Nombre", null, 40, TextField.ANY)); f.append(new DateField("Fecha de nacimiento", DateField.DATE)); f.append(new TextField(" ", null, 20, TextField. ADDR)); String[] tipos = {"Profesor", "Alumno"; f.append(cg = new ChoiceGroup("Tipo", ChoiceGroup.EXCLUSIVE, tipos, null)); d.setcurrent(f); Sistemas operativos
13 Para asociar acciones a los botones del dispositivo se utiliza la clase Command Las activación de un comando es capturada por un CommandListener, cuya única operación es commandaction() class listenertextbox implements CommandListener { public commandaction(command cm, Displayable ds) { if (cm == cfin) { // Procesar el comando TextBox t = new TextBox( Escribe un poema,, 500, TextField.ANY); t.addcommand(cfin = new Command( Fin, Command.OK, 0)); t.setlistener(new listenertextbox()); d.setcurrent(t);
14 Tarea:Siguiendo el ejemplo que hemos desarrollado en la asignatura, crear un visor móvil de nuestra cuenta import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import java.util.*; public class MidletCuenta { private Cuenta c; extends MIDlet private Display d; private TextField tcodigo; private Command centrar, csalir, cvolver, cmovimientos; private Form fpeticioncodigo, finfocuenta; private List lmovcuenta; public MidletCuenta() { d = null; void crearcomandos() { centrar = new Command("Entrar", Command.OK, 0); csalir = new Command("Salir", Command.EXIT, 1); cvolver = new Command("Volver", Command.BACK, 0); cmovimientos = new Command("ver Mov.", Command.SCREEN, 0);
15 public void startapp() { if (d == null) { d = Display.getDisplay(this); crearcomandos(); crearformpeticioncodigo(); d.setcurrent(fpeticioncodigo); MIDP: Interfaces Gráficas de Usuario void crearformpeticioncodigo() { fpeticioncodigo = new Form("Información de cuentas"); fpeticioncodigo.append(tcodigo = new TextField("Código de cuenta ", null, 10, TextField.NUMERIC)); fpeticioncodigo.addcommand(centrar); fpeticioncodigo.addcommand(csalir); fpeticioncodigo.setcommandlistener(new listenerpeticioncodigo()); tcodigo.setlayout(item.layout_2 Item.LAYOUT_CENTER); class listenerpeticioncodigo implements CommandListener { public void commandaction(command cm, Displayable s) { if (cm == centrar) { // Cargar la cuenta aquí crearforminformacioncuenta(); d.setcurrent(finfocuenta); else if (cm == csalir) { destroyapp(true); notifydestroyed(); Sistemas operativos
16 MIDP: Interfaces Gráficas de Usuario void crearforminformacioncuenta() { // Crear formulario de información dae la cuenta finfocuenta = new Form("Información de cuenta"); finfocuenta.append(new StringItem("Código:", Long.toString(c.leerNumero()))); finfocuenta.append(new StringItem("Titular:", c.leertitular())); finfocuenta.append(new StringItem("Interés:", Float.toString(c.leerInteres()))); finfocuenta.append(new StringItem("Saldo:", Float.toString(c.leerSaldo()))); finfocuenta.addcommand(cmovimientos); finfocuenta.addcommand(cvolver); finfocuenta.setcommandlistener(new listenerinformacioncuenta()); // Crear lista de movimientos lmovcuenta = new List("Ultimos movimientos", List.IMPLICIT); Movimiento m; int nmov, nm; for (nmov = 10, nm = c.nummovimientoshistorico() - 1; nmov > 0 && nm >= 0; nm--, nmov--) { m = c.leermovimientohistorico(nm); lmovcuenta.append(cadenadate(m.fecha) + ' ' + m.tipo + ' ' + m.importe + ' ' + m.saldo, null); lmovcuenta.addcommand(cvolver); lmovcuenta.setcommandlistener(new listenerinformacionmovimientos()); Sistemas operativos
17 MIDP: Interfaces Gráficas de Usuario class listenerinformacioncuenta implements CommandListener { public void commandaction(command cm, Displayable s) { if (cm == cvolver) { d.setcurrent(fpeticioncodigo); else if (cm == cmovimientos) { d.setcurrent(lmovcuenta); class listenerinformacionmovimientos implements CommandListener { public void commandaction(command cm, Displayable s) { if (cm == cvolver) { d.setcurrent(finfocuenta); Sistemas operativos
18 MIDP: Persistencia MIDP: Persistencia La capacidad de almacenamiento persistente de un dispositivo móvil puede ser muy limitada. El soporte de tarjetas de memoria, cada vez más común, ha aumentado mucho las prestaciones (8Gb en iphone o Nokia N95) posibilitando una estructura de ficheros similar a la de un computador convencio nal. Sin embargo el perfil MIDP es conservador y proporciona un soporte sencillo de persistencia a través de registros de bloques de bytes. Sistemas operativos
19 MIDP: Persistencia Un MIDlet puede abrir un almacén de registros con un nombre arbitrario mediante: RecordStore RecordStore.openRecordStore( nombre, true); El segundo parámetro indica que el almacén debe abrirse si no existe. A través de las operaciones del objeto Record Store podremos manejar los registros. Normalmente un almacén no se comparte con otros MIDlets, aunque puede habilitarse este acceso El. almacén de registros se cierra mediante: closerecordstore() Sistemas operativos
20 MIDP: Persistencia El acceso a los registros se realiza a través d e un identificador numérico, que es devuelto al añadir un registro: int addrecord(byte[] datos, int offset, int numbytes) Para recuperar un registro debemos indicar su identificador: int getrecord(int id, byte[] buffer, int offset) Modificar un registro ya existente: void setrecord(int id, byte[] nuevosdatos, int offset, int numbytes) Eliminar un registro: void deleterecord(int id) Sistemas operativos
21 MIDP: Persistencia Es posible recorrer los registros de un almacén creando una enumeración: RecordStore rs = RecordStore.openRecordStores( ejemplo, true); RecordEnumeration re = re.enumeraterecords(null, null, false); while (re.hasnextelement()) { byte[] datos = re.nextrecord(); // Operar con los datos re.destroy(); rs.closerecordstore(); La operación enumeraterecords() admite la especificación de clases de filtrado y ordenación de los registros del almacén. Sistemas operativos
22 MIDP: Persistencia Tarea:Crear un gestor de persistencia para las cuentas corrientes mediante un almacén de registros. import java.io.*; import java.util.*; import javax.microedition.rms.*; public class DAOCuentaRS { static DAOCuentaRS instancia = null; public static DAOCuentaRS obtenerinstancia() throws RecordStoreException { if (instancia == null) { instancia = new DAOCuentaRS(); return instancia; private DAOCuentaRS() { public boolean existe(long numero) throws RecordStoreException, IOException { RecordStore rs = null; try { rs = RecordStore.openRecordStore("cuentas", true); return (buscarregistrocuenta(rs, numero)!= -1); finally { if (rs!= null) rs.closerecordstore(); Sistemas operativos
23 MIDP: Persistencia public Cuenta cargar(long numero) throws RecordStoreException, IOException { RecordStore rs = null; DataInputStream dis = null; Cuenta c = null; try { rs = RecordStore.openRecordStore("cuentas", true); int idreg = buscarregistrocuenta(rs, numero); if (idreg == -1) { return null; dis = new DataInputStream(new ByteArrayInputStream(rs.getRecord(idReg))); c = new Cuenta(dis.readLong(), dis.readutf(), dis.readfloat()); c.saldo = dis.readfloat(); int nmov = dis.readint(); for (int nm = 0; nm < nmov; nm++) { c.movimientos.addelement(new Movimiento(new Date(dis.readLong()), dis.readchar(), dis.readfloat(), dis.readfloat())); finally { if (dis!= null) dis.close(); if (rs!= null) rs.closerecordstore(); return c; Sistemas operativos
24 public void salvar(cuenta c) throws RecordStoreException, IOException { RecordStore rs = null; ByteArrayOutputStream bos = null; DataOutputStream dos = null; try { rs = RecordStore.openRecordStore("cuentas", true); dos = new DataOutputStream(bos = new ByteArrayOutputStream()); dos.writelong(c.leernumero()); dos.writeutf(c.leertitular()); dos.writefloat(c.leerinteres()); dos.writefloat(c.leersaldo()); Movimiento m; int nmov = c.nummovimientoshistorico(); dos.writeint(nmov); for (int nm = 0; nm < nmov; nm++) { m = c.leermovimientohistorico(nm); dos.writelong(m.fecha.gettime()); dos.writechar(m.tipo); dos.writefloat(m.importe); dos.writefloat(m.saldo); MIDP: Persistencia int idreg = buscarregistrocuenta(rs, c.leernumero()); if (idreg!= -1) { rs.setrecord(idreg, bos.tobytearray(), 0, bos.size()); else { rs.addrecord(bos.tobytearray(), 0, bos.size()); finally { if (dos!= null) dos.close(); if (rs!= null) rs.closerecordstore(); Sistemas operativos
25 MIDP: Persistencia private int buscarregistrocuenta(recordstore rs, long numero) throws RecordStoreException, IOException { RecordEnumeration re = null; DataInputStream dis = null; long recnum; int id; try { re = rs.enumeraterecords(null, null, false); while (re.hasnextelement()) { id = re.nextrecordid(); dis = new DataInputStream(new ByteArrayInputStream(rs.getRecord(id))); recnum = dis.readlong(); if (recnum == numero) { return id; dis.close(); dis = null; finally { if (dis!= null) dis.close(); if (re!= null) re.destroy(); return -1; Sistemas operativos
26 MIDP: Persistencia En el MIDlet debemos crear un atributo para referenciar el gestor de persi stencia, y realizar su inicialización en startapp() public void startapp() { if (d == null) { d = Display.getDisplay(this); if (dc == null) { try { dc = DAOCuentaRS.obtenerInstancia(); catch(exception e) { d.setcurrent(new Alert("Error", "No es posible abrir el almacén de registros", null, AlertType.ERROR)); destroyapp(true); notifydestroyed(); return; // Crear las cuentas de ejemplo si no existen crearcuentasejemplo(); crearcomandos(); crearformpeticioncodigo(); d.setcurrent(fpeticioncodigo); Sistemas operativos
27 MIDP: Persistencia class listenerpeticioncodigo implements CommandListener { public void commandaction(command cm, Displayable s) { if (cm == centrar) { try { c = dc.cargar(long.parselong(tcodigo.getstring())); if (c == null) { d.setcurrent(new Alert("Error", "Cuenta inexistente", null, AlertType.ERROR), fpeticioncodigo); return; catch(exception e) { d.setcurrent(new Alert("Error", "Error de lectura de cuenta", null, AlertType.ERROR), fpeticioncodigo); return; crearforminformacioncuenta(); d.setcurrent(finfocuenta); else if (cm == csalir) { destroyapp(true); notifydestroyed(); Sistemas operativos
28 MIDP: Conexión por red MIDP: Conexión por red MIDP es especialmente potente en lo que se refi ere a la conexión por red mediante sockets, http y otros protocolos La clase Connection representa una conexión ge nérica y es extendida a tres conexiones que ad miten E/S mediante streams: InputConnection, Ou tputconnection y StreamConnection La clase StreamConnection es extendida a varia s clases que representan distintos tipos de conex iones: CommConnection, HttpConnection, httpscon nection, SocketConnection, etc. Sistemas operativos
Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina
Taller de Programación de Dispositivos Móviles José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv.cl Parte 1 1.Programación de dispositivos 2.Limitaciones de los dispositivos
Más detallesProgramación para sistemas en red IV. Formularios
Formularios A continuación, veremos a través de un ejemplo ilustrativo la implementación de los objetos TextField, DateField y ChoiceGroup en un objeto de tipo Form. Ejemplo: Se requiere desarrollar una
Más detallesAndroid y Java para Dispositivos Móviles
Android y Java para Dispositivos Móviles Sesión 3: Interfaz gráfica Android y Java para Dispositivos Móviles 2010 Depto. Ciencia de la Computación e IA Interfaz gráfica 1 Puntos a tratar Interfaz gráfica
Más detallesProgramación para sistemas en red IV. Estructura básica de un MIDlet
Estructura básica de un MIDlet Paquetes necesarias para la construcción de un MIDlet: - import javax.microedition.midlet.*; Paquete para usar el perfil MIDlet. - import javax.microedition.lcdui.*; Proporciona
Más detallesAndroid y Java para Dispositivos Móviles
Android y Java para Dispositivos Móviles Sesión 7: Almacenamiento con RMS Android y Java para Dispositivos Móviles 2010 Depto. Ciencia de la Computación e IA Almacenamiento con RMS-1 Puntos a tratar Almacenes
Más detallesAlmacenamiento Persistente
Almacenamiento Persistente Juan Manuel Fernández Luna Departamento de Ciencias de la Computación e Inteligencia Artificial Programación de Dispositivos Móviles con J2ME Septiembre/Octubre de 2006 Introducción
Más detallesJ2ME. CDC, CLDC y MIDP Java para dispositivos con capacidad limitada
Presentación para CC61P J2ME CDC, CLDC y MIDP Java para dispositivos con capacidad limitada Mauricio Monsalve M. 1 Antes de empezar... Objetivos: Indicar las tendencias tecnológica en cuanto a portabilidad.
Más detallesSebastián García Galán
Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán sgalan@ujaen.es Introducción El gestor de aplicaciones (AMS) Ciclo de vida de un Midlet
Más detallesProgramando con J2ME. Rogelio Ferreira Escutia
Programando con J2ME Rogelio Ferreira Escutia MIDlet mínimo 2 Primer MIDlet Todos los MIDlets deben tener una clase principal que herede de la clase javax.microedition.midlet", contenida en el API MIDP
Más detallesInterfaz de usuario. Índice
Índice 1 Acceso al visor... 2 2 Componentes disponibles...2 2.1 API de alto nivel... 3 2.2 API de bajo nivel... 3 3 Componentes de alto nivel... 4 3.1 Cuadros de texto... 4 3.2 Listas...6 3.3 Formularios...7
Más detallesTópicos Selectos de Programación
Ingeniería en Sistemas Computacionales Tópicos Selectos de Programación Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. 1 Unidad VI Programación con Dispositivos
Más detallesProgramación para sistemas en red IV. Tomar información desde la pantalla
Tomar información desde la pantalla Para tomar información desde un formulario desarrollado en J2ME, se utiliza la función: getstring(). Ejemplo: Si tenemos instanciado el siguiente TextField: nombre =
Más detallesCapítulo 5-2 J2ME: Componentes de Interfaces de Usuario
Telemática TEL-352 Seminario de Telemática II -2 J2ME: Componentes de Interfaces de Usuario CHM-2008 Seminario de Telemática II 1 Objetivos Abarcar los principales aspectos relacionados con el diseño de
Más detallesJ2ME (Java to Micro Edition)
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d Arquitectura de Computadors J2ME (Java to Micro Edition) (Seminaris de CASO) Autors José Antonio Carmona Gallardo Valentí Moncunill González Introducción
Más detallesJava 2 Micro Edition
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d Arquitectura de Computadors Java 2 Micro Edition Introducción a java para dispositivos móviles (Seminaris de CASO) Autors David Chiner Benjuya Antonio
Más detallesCAPÍTULO 3:J2ME Introducción
CAPÍTULO 3:J2ME La plataforma J2ME permite la programación de dispositivos móviles con Java. Este capítulo proporciona una introducción a esta plataforma. En primer lugar se verá cómo es su división en
Más detallesJava TM MicroEdition -Conceptos Básicos-
Java TM MicroEdition -Conceptos Básicos- Pontificia Universidad Javeriana Computación Móvil 2008/01 Historia Enero 15, 1991: Green Project : Qué hacer a cerca de tanta variedad de dispositivos electrónicos?
Más detallesSoftware de Comunicaciones I.T.T. Especialidad Telemática Escuela Politécnica Superior Universidad Carlos III de Madrid
Duración de los problemas: 1 hora 30 minutos. Duración total del examen: 2 horas 30 minutos. Software de Comunicaciones I.T.T. Especialidad Telemática Escuela Politécnica Superior Universidad Carlos III
Más detallesCAPÍTULO 5º: APLICACIÓN DESARROLLADA
CAPÍTULO 5º: APLICACIÓN DESARROLLADA 5.1. ESTRUCTURA DE LA APLICACIÓN A continuación se procederá a comentar las clases y métodos que componen la aplicación, con una breve explicación de su funcionalidad.
Más detallesIntroducción a Java para MIDs - Ejercicios
Introducción a Java para MIDs - Ejercicios Índice 1 Primeros pasos con Wireless Toolkit... 2 2 Ejecución de aplicaciones vía OTA... 2 3 Crear un nuevo proyecto... 2 4 Hola Mundo!... 2 5 Recursos... 3 6
Más detallesINTRODUCCIÓN A LA PROGRAMACIÓN DE DISPOSITIVOS MÓVILES
INTRODUCCIÓN A LA PROGRAMACIÓN DE DISPOSITIVOS MÓVILES CONTENIDO: J2ME. Arquitectura Conceptos Básicos APIs Principales MIDLets Herramientas de Desarrollo Ejemplo BIBLIOGRAFÍA: [Gal] Java a Tope: J2ME.
Más detallesPROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }
PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)
Más detalles0DQXDOGHGHVDUUROORGH DSOLFDFLRQHVHQ-0( 9HUVLyQGHOGRFXPHQWR )HFKDGHOGRFXPHQWRGH0DU]RGH
0DQXDOGHGHVDUUROORGH DSOLFDFLRQHVHQ-0( 9HUVLyQGHOGRFXPHQWR )HFKDGHOGRFXPHQWRGH0DU]RGH ËQGLFH Ë1',&(,1752'8&&,Ï1,QVWDODFLyQHLQLFLRGH:LUHOHVV7RRONLW &UHDUQXHYRSUR\HFWR 'HVDUUROORGHOSURJUDPD &RPSLODFLyQ\GHSXUDFLyQ
Más detallesProgramación de Dispositivos Móviles Estructura de un programa en J2ME
Programación de Dispositivos Móviles Estructura de un programa en J2ME Rogelio Ferreira Escutia MIDlets MIDlets Las aplicaciones que realizamos utilizando MIDP reciben el nombre de MIDlets (por simpatía
Más detallesProgramación para sistemas en red IV. Conceptos básicos II
Conceptos básicos II Maquina virtual de java (JVM): Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar
Más detallesIntroducción a Java con JavaME
Introducción a Java con JavaME Sesión 4: Flujos de E/S y serialización de objetos. RMS. Introducción a Java con JavaME 2011-2012 Depto. Ciencia de la Computación e IA E/S, serialización,rms-1 Puntos a
Más detallesProgramación Java J2ME: Java para dispositivos móviles
Master Universitario en Informática Aplicada a las Telecomunicaciones Móviles Programación Java J2ME: Java para dispositivos móviles Febrero 2006 David Bueno Vallejo Plan Introducción Instalación Primer
Más detallesCAPÍTULO 3: J2ME Java 2 Platform Micro Edition (J2ME)
CAPÍTULO 3: J2ME El cliente desarrollado en este proyecto está basado en la tecnología J2ME para dispositivos móviles, como pueden ser: teléfonos móviles, PDAs o Palms, o incluso cualquier otro tipo de
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesUNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Elección Libre Unidad académica: Programación de dispositivos móviles con Java Ubicación: Noveno Semestre. Clave:
Más detallesJava ME. Aplicaciones Móviles Curso de Adaptación Grado en Ingeniería de Sistemas Audiovisuales
Java ME Aplicaciones Móviles Curso de Adaptación Grado en Ingeniería de Sistemas Audiovisuales Celeste Campo - Carlos García Rubio celeste, cgr@it.uc3m.es Pág. 2 Índice Introducción Plataforma Java ME:
Más detallesPROGRAMACIÓN DE JUEGOS PARA MÓVILES CON J2ME
P R O G R A M A C I Ó N D E J U E G O S P A R A M Ó V I L E S C O N J 2 M E PROGRAMACIÓN DE JUEGOS PARA MÓVILES CON J2ME Alberto García Serrano 0 P R O G R A M A C I Ó N D E J U E G O S P A R A M Ó V I
Más detallesManejo básico de record store RMS en aplicaciones móviles con J2ME. Por: Rubén Dario Orozco (drincast@hotmail.com)
Manejo básico de record store RMS en aplicaciones móviles con J2ME 2008 Por: Rubén Dario Orozco (drincast@hotmail.com) Esta obra está bajo una licencia Reconocimiento-No comercial-compartir bajo la misma
Más detallesServidor Bluetooth de exámenes en J2ME
Universidad Carlos III de Madrid Repositorio institucional e-archivo Trabajos académicos http://e-archivo.uc3m.es Proyectos Fin de Carrera 2009-10 Servidor Bluetooth de exámenes en J2ME Lobo Romero, Ana
Más detallesDesarrollando aplicaciones mediante Java Me
Desarrollando aplicaciones mediante Java Me V.03 Guardar una lista de notas 1) Planteamiento: Desarrollar una aplicación que nos permite guardar una lista de notas en la memoria de un celular. 2) Guía
Más detallesDiseño de tipos Igualdad, representación, código, copia y relación de orden
Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones
Más detallesUNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Mobile Information Device Profile (MIDP) Florina Almenárez Mendoza Celeste Campo Departamento de Ingeniería Telemática Universidad
Más detallesCarlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Más detallesConstrucciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar
Más detallesEJEMPLOS PROGRAMACIÓN SOCKET - JAVA
EJEMPLOS PROGRAMACIÓN SOCKET - JAVA 1.- Calcular el Cuadrado TCP En esta aplicación el cliente se conecta al servidor, para ello debe introducir la dirección IP del servidor y los parámetros sobre los
Más detallesJ2ME Programando un cronómetro para nuestro celular
J2ME Programando un cronómetro para nuestro celular A lo largo de este apunte veremos como desarrollar una aplicación que sea capaz de correr en un teléfono celular (MIDlet). Para ello haremos uso del
Más detallesSoporte a Desarrolladores. Resolucionando Problemas Comunes de Conectividad
Soporte a Desarrolladores Resolucionando Problemas Comunes de Conectividad Table of Contents Introducción... 3 Causas de no Conexión de Datos... 3 1. Apovisionamiento adecuada de SIM... 3 2. IP del Dispositivo...
Más detalles6 LA PLATAFORMA JAVA ME
La plataforma Java ME Página 113 6 LA PLATAFORMA JAVA ME 6.1 INTRODUCCIÓN Si atendemos un poco a la historia, nos daremos cuenta de que el lenguaje Java, que se utiliza en las aplicaciones de los ordenadores
Más detallesProcesamiento distribuido en Java
Diseño Y Aplicaciones de Sistemas Distribuidos Procesamiento distribuido en Java Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica de València Contenidos
Más detallesExamen escrito de Programación I
Examen escrito de Programación I Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 12 de septiembre de 2011 Disponer sobre la mesa en lugar visible un documento
Más detallesIntroducción a Java. Fernando Cerezal López. 24 Noviembre 2005
24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos
Más detallesProgramació de jocs per mòbils amb J2ME.
Q U A R T A E D I C I Ó D E S A B A D E L L U N I V E R S I T A T D E L 4 A L 8 D E J U L I O L D E 2 0 0 5 Programació de jocs per mòbils amb J2ME. S5. Aplicacions Java per a mòbils Alberto Garcia Serrano
Más detalles>> Programación de dispositivos móviles.
>> Programación de dispositivos móviles. Nicolás Álvarez S. nalvarezs@vtr.net Juan Monsalve Z. jmonsalve@elo.utfsm.cl Tópicos a tratar Repaso de conceptos de programación. Conceptos básicos de Java Plataforma
Más detallesVERSIÓN 1.0. Tutores: Mª Celeste Campo Vázquez y Carlos García Rubio
VERSIÓN 1.0 A medida que evoluciona la tecnología aumenta la posibilidad de añadir funcionalidad a nuestros dispositivos inalámbricos y así satisfacer las necesidades de los usuarios. Por qué conformarse
Más detallesQué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.
APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje
Más detallesFUNDAMENTOS DE INFORMÁTICA
ÁREA DE LENGUAJES Y SISTEMAS INFORMÁTICOS DEPARTAMENTO DE INFORMÁTICA E INGENIERÍA DE SISTEMAS ESCUELA DE INGENIERÍA Y ARQUITECTURA FUNDAMENTOS DE INFORMÁTICA 1ª CONVOCATORIA (16-junio-2011) Ejercicio
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesExamen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 12 de septiembre de 2013 Disponer sobre la mesa en lugar visible un documento
Más detallesExamen de Programación 1. Viernes 31/enero/2014. Problema 1 o (2.5 puntos) Disponer un documento de identificación con fotografía sobre la mesa.
Examen de Programación 1. Viernes 31/enero/2014 Disponer un documento de identificación con fotografía sobre la mesa. Comenzar a resolver cada problema del examen en una hoja de papel diferente. Escribir
Más detallesExamen parcial Convocatoria de junio de 2005 FUNDAMENTOS DE LA PROGRAMACIÓN
EJERCICIO 1 (1.5 puntos) Diseñe un conjunto de casos de prueba adecuado para comprobar el funcionamiento de un método encargado de calcular la duración de una llamada telefónica. Entradas Hora de inicio
Más detallesDESARROLLO DE APLICACIONES JAVA PARA
Departamento de Lenguajes y Sistemas Informáticos Cursos de Doctorado. Universidad de Sevilla DESARROLLO DE APLICACIONES JAVA PARA MÓVILES: J2ME Y HERRAMIENTAS DE DESARROLLO Francisco Martínez Álvarez
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesCAPÍTULO 3º: J2ME 3.1. INTRODUCCIÓN 3.2. CARACTERÍSTICAS J2ME
CAPÍTULO 3º: J2ME 3.1. INTRODUCCIÓN Es de sobra conocido por todos el éxito que ha alcanzado el lenguaje de programación Java, llegando a ser el lenguaje más popular en Internet. Fue creado por Sun Microsystems
Más detallesPráctica 5. Fecha límite de entrega: viernes, 14 de diciembre
Algoritmos http://www.lfcia.org/alg/ 2007-2008 Ingeniería Informática Ingeniería Técnica de Informática de Gestión Práctica 5 Fecha límite de entrega: viernes, 14 de diciembre Implementación de un Diccionario
Más detallesExamen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación
Más detallesClases abstractas e interfaces en Java
Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura
Más detallesAndroid y Java para Dispositivos Móviles
Android y Java para Dispositivos Móviles Sesión 8: Conexiones de red Android y Java para Dispositivos Móviles 2010 Depto. Ciencia de la Computación e IA Conexiones de red-1 Puntos a tratar Marco de conexiones
Más detallesDesarrollo de software para móviles con Java 2 Microedition
UNIVERSIDAD NACIONAL AUTÓNOMA DE NICARAGUA - LEÓN FACULTAD DE CIENCIAS DEPARTAMENTO DE COMPUTACIÓN Desarrollo de software para móviles con Java 2 Microedition MONOGRAFIA PARA OPTAR AL TÍTULO DE LICENCIADO
Más detallesQué ofrece Autentia Real Business Solutions S.L?
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 info@autentia.com - www.autentia.com Qué ofrece Autentia Real Business Solutions
Más detallesJava, JavaME y el entorno Eclipse - Ejercicios
Java, JavaME y el entorno Eclipse - Ejercicios Índice 1 Hola ME!...2 2 Clases...2 3 Métodos y campos de la clase... 3 4 Métodos estáticos... 4 5 Librerías opcionales (*)...4 6 Temporizadores (*)... 5 1.
Más detallesIntroducción a Java LSUB. 30 de enero de 2013 GSYC
Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial
Más detalles18. Interfaces Declaración de una interfaz
Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir
Más detallesDIPLOMADO CREACION DE APLICACIONES EMPRESARIALES JAVA Y PARA DISPOSITIVOS MOVILES
DIPLOMADO CREACION DE APLICACIONES EMPRESARIALES JAVA Y PARA DISPOSITIVOS MOVILES TABLA DE CONTENIDO INTRODUCCION... 3 ESTRUCTURA DEL DIPLOMADO... 4 TEMA 1: CREACION DE APLICACIONES EMPRESARIALES JAVA...
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
Más detallesINTRODUCCIÓN A J2ME. (Java 2 MicroEdition) Manuel J. Prieto
INTRODUCCIÓN A J2ME (Java 2 MicroEdition) Manuel J. Prieto (vitike@canal21.com) Noviembre 2002 Cualquier comentario, sugerencia o errata, puede ser remitida a vitike@canal21.com. Todas ellas serán bienvenidas
Más detallesCURSO DE J2ME (JAVA 2 MICROEDITION) Manuel J. Prieto (Abril. 2003)
CURSO DE J2ME (JAVA 2 MICROEDITION) Manuel J. Prieto (vitike@canal21.com) (Abril. 2003) Cualquier comentario, sugerencia o errata, puede ser remitida a vitike@canal21.com. Todas los mensajes serán bienvenidos
Más detallesEstructura de datos y Programación
Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de
Más detallesUnidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende
Más detallesDEPARTAMENTO DE INGENIERÍA TELEMÁTICA UNIVERSIDAD CARLOS III DE MADRID PROGRAMACIÓN AVANZADA EN MIDP. Celeste Campo.
DEPARTAMENTO DE INGENIERÍA TELEMÁTICA UNIVERSIDAD CARLOS III DE MADRID PROGRAMACIÓN AVANZADA EN MIDP Celeste Campo celeste@it.uc3m.es Parte de este material se basa en transparencias de Natividad Martínez
Más detallesSoluciones al Examen de Fundamentos de Computadores y Lenguajes
Soluciones al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2005 1) Escribir una clase con un atributo privado que sea un array de
Más detallesProgramación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)
Examen de Ejemplo Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED) Parte Teórica (2,5 puntos). La respuesta correcta se indica
Más detallesAlgoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos
Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de
Más detallesPROGRAMACION I Archivos directos
PROGRAMACION I Archivos directos Un archivo relativo (directo) consiste en una colección de registros de longitud fija almacenados uno al lado del otro en un dispositivo de almacenamiento de acceso directo.
Más detallesColas. 5.1 Implementación
Capítulo 5 Colas Las colas al igual que las pilas son un tipo especial de listas en las cuales los elementos se insertan por un lado y se eliminan por el otro. Es decir se sacan en el mismo orden en que
Más detallesJAVA 1. Introducción
Diseño de Interfaces de Usuario JAVA. Introducción. Características Portabilidad Interpretado (bytecodes) Uso de Máquina Virtual Java (JVM) Orientado a Objetos Jerarquía de clases Extensible (packages)
Más detallesGOBIERNO DEL PRINCIPADO DE ASTURIAS VICECONSEJERÍA DE PRESUPUESTOS Y ADMINISTRACIÓN PÚBLICA
MODULO COMÚN DE ALMACENAMIENTO TEMPORAL DE SOLICITUDES (MCAT) MANUAL DE USO Página 2 de 37 ÍNDICE ÍNDICE...2 1. CONTROL DEL DOCUMENTO...3 1.1. HISTÓRICO DE REVISIONES...3 2. INTRODUCCIÓN...4 3. CLASES
Más detallesProgramación de juegos en J2ME para celulares
IIC3686 - Creación de Videojuegos Programación de juegos en J2ME para celulares FiruzzZ Introducción : Recursos Recursos limitados RAM en kilobytes Almacenamiento (RMS) alrededor de 1 mb Pantallas más
Más detallesEstructuras de control selectivas
Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos
Más detallesTaller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv.
Taller de Programación de Dispositivos Móviles José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv.cl Parte 1 1.Programación de dispositivos 2.Limitaciones de los dispositivos
Más detallesDiseño y Programación Orientados a Objetos 29 de Abril de Primer Certamen
Primer Certamen Primera parte, sin apuntes (30 minutos; 1/3 de la nota): 1.- Responda brevemente y entregue en hoja con su nombre. a. Al redefinir un método en una subclase, es posible retornar un objeto
Más detallesIntroducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens
Introducción a Java Juan Manuel Fernández Peña Curso 2005. Rev 2011 Comentarios: //comentario /* comentario fin de comentario */ /** comentario para javadoc fin */ Palabras reservadas: (como ejemplo) abstract,
Más detalles3.3 Conceptos Básicos del Lenguaje Java
3.3 Conceptos Básicos del Lenguaje Java Conjunto de Caracteres Java utiliza Unicode, un conjunto de caracteres de 16 bits Java permite leer ASCII de 7-bit o Latin-1, conviertiéndolo a Unicode Son pocos
Más detallesQué ofrece Autentia Real Business Solutions S.L?
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 info@autentia.com - www.autentia.com Qué ofrece Autentia Real Business Solutions
Más detallesProgramación J2ME con Netbeans. Interfaz gráfico para el tetris Septiembre de 2006
Programación J2ME con Netbeans Interfaz gráfico para el tetris Septiembre de 2006 Curso de Formación Continua de Programación de dispositivos móviles con Java (4 a edición) Septiembre de 2006 Índice 1.
Más detalles// Comprobamos que la ejecución por línea de comandos es correcta; // si no es así, se indica la forma correcta.
12.- CÓDIGO FUENTE /******************************************************************************* * La clase Client es la que contiene el método main de la aplicación * * y se encarga de leer la petición
Más detallesPatrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08
Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos
Más detallesJornadas Universitarias de Informática
Año 2003 UI03 - CONOCIENDO J2ME TECNOLOGIA JAVA2 PARA DISPOSITIVOS INALÁMBRICOS Internet Autores: Adriana Elizabeth Martín Dni 17.924.150 aemartin@iinfo.unsj.edu.ar Susana Beatriz Chavez Dni 17.924.719
Más detallesLenguaje Java Avanzado
Lenguaje Java Avanzado Sesión 4: Serialización de datos 2012-2013 Depto. Ciencia de la Computación e IA Índice Introducción a los flujos de E/S Entrada y salida estándar Acceso a ficheros Acceso a recursos
Más detallesUniversidad de los Andes Ingeniería de Sistemas y Computación
Universidad de los Andes Ingeniería de Sistemas y Computación ISIS1205 - Algorítmica y Programación por Objetos II 2006-1 Hoja de Trabajo sobre los menus El objetivo de este taller es aprender a utilizar
Más detallesDESARROLLO DE APLICACIONES J2ME PARA POCKET PC CON WEBSPHERE STUDIO DEVICE DEVELOPER
Tutor: Mª Celeste Campo Vázquez Autor: Roberto Díaz Morales Roberto Díaz Morales Página 1 03/05/2004 1 INDICE 1 INDICE 2 2 OBJETIVOS 3 3 INTRODUCCIÓN 4 4 J2ME 5 5 KVM/CLDC/MIDP 7 6 INSTALACIÓN DEL ENTORNO
Más detallesInterfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1
Interfaces Amparo López Gaona Septiembre de 2008 Amparo López Gaona () Interfaces Septiembre de 2008 1 / 1 Interfaces Las interfaces Java permiten al diseñador de clases establecer su forma definiendo
Más detallesESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:
Nombre y apellidos: Nota: NOTA FINAL: Nota Practica (1 punto) + Nota Examen (9 punto) Es indispensable aprobar el examen (4,5 puntos) para aprobar la asignatura (5 puntos) La práctica es opcional Duración:
Más detallesExamen de prácticas de Programación 1
Examen de prácticas de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 12 de septiembre de 2013 Tiempo para realizar el trabajo de programación
Más detallesIngeniería del Software Separación entre Presentación y Lógica del Negocio
Introducción En este laboratorio desarrollaremos una aplicación que verifica si una cuenta y un password son correctos. En dicha aplicación la presentación y la lógica del negocio se definirán en dos capas
Más detalles