Por qué un dispositivo MIDP debe estar conectado a una red, como por
ejemplo, la red WAP?
MIDP es el acrónimo de Perfil para dispositivos de información móvil (Mobile
InformationDevice Profile) y nos proporciona un perfil que se apoya en CLDC
(Connected LimitedDevice Configuration) y que nos va a proporcionar los paquetes
y clases necesarios para eldesarrollo de nuestras aplicaciones. MIDP está orientado
principalmente a teléfonosmóviles, aunque existe una implementación para PalmOS
(versión 3.5 y superiores) yPocketPC, por lo que es también utilizable en casi
cualquier [Link] dispositivo MIDP debe estar conectado a una red, porque es
necesario el acceso a lared para realizar la instalación de complementos o
aplicativos propios para el dispositivo,ya que estos se descargan desde un servidor
específico, además
una de las característicasde los dispositivos móviles que se soportan en la configuración MIDP es
que debentener una conexión limitada.
Por qué cada configuración tiene sus propios perfiles?
Los tipos de dispositivos se pueden ver como familias diferente. Cada una de
estasfamilias de dispositivos está caracterizada por cierto nivel de procesamiento y
ciertacapacidad de memoria para almacenamiento de informació[Link] esta manera,
una configuración es aquélla que define las especificaciones queidentifican los
requerimientos a nivel de hardware de un sistemas, por ejemplo, tipo yvelocidad
del procesador, tamaño de la memoria así como el tipo de conexión a red,además
define un conjunto de características del lenguaje Java, las características de
lamáquina virtual y el mínimo de librerías Java [Link] J2ME, no se definen
interfaces en el nivel más bajo de desarrollo; es decir, en unaconfiguración, la razón
de esto es que la diversidad de dispositivos existentes es muyamplia y resultaría
imposible generalizar una sola interfaz para todo un grupo [Link] lo
anterior, J2ME tiene otro elemento fundamental: el Perfil. Este concepto básico enla
arquitectura de J2ME se puede ver como un bloque construido sobre una
configuracióny que define el nivel de aplicaciones para un cierto tipo de dispositivo.
Un perfil define unaconjunto de librerías para GUI's (Interfaces Gráficas de Usuario),
almacenamiento deinformación, manejo de redes, [Link] perfile contiene API's
construidos para agrupar dispositivos con las mismascaracterísticas, que son
capaces de correr una misma interfaz; además cuenta con unambiente de
desarrollo más completo que el que contiene una configuración. Esto últimohace
referencia a que permite definir servicios y funcionalidades para un cierto
conjuntode dispositivos ya que cuenta con un grupo de librerías más específicas a
cada dispositivo.
Rafael Consuegra García
Programación de dispositivos móviles - 275832
2
Un perfil provee de una solución que se enfoca a un dispositivo particular referente
a unacategoría o industria. Es decir, una configuración carece de funcionalidad si no
tieneasignado un perfil determinado. Podemos decir entonces que un perfil es un
conjunto deAPI’s que dotan a una configuración de una utilidad y una
[Link] lo anterior se asegura un mínimo de compatibilidad entre
dispositivos desarrolladospor fabricantes dispares, y para asegurar al programador
un mínimo común denominadoren el que su aplicación funcione.
"En J2ME, el dispositivo móvil por excelencia es el celular". Argumente
esta afirmación a partirde la información vista en el curso
Hace tiempo que los teléfonos dejaron de ser algo que servía para realizar
llamadas,convirtiéndose en "dispositivos multimedia". Con el cambio de nombre y
de casos de uso,llegan múltiples oportunidades de tecnología y de negocio. Cada
vez los móviles puedenhacer más cosas, y eso crea una doble necesidad. Por un
lado, es necesario tener undispositivo que permita hacer esas cosas, sean las que
sean (grabar vídeo, escuchar mp3,ver los goles de tu equipo favorito en tiempo
real). Pero eso también provoca que cada vezse intenten hacer más cosas con el
teléfono, lo que vuelve a hacer necesario un terminalmás potente, que a su vez
creara la necesidad de contenidos de más [Link] misión de J2ME es permitir el
desarrollo de aplicaciones Java que se ejecuten enpequeños dispositivos con
memoria, potencia y visualización limitada. La plataforma JavaME es una colección
de tecnologías y especificaciones que puede ser combinada paraconstruir un
completo ambiente Java focalizado en soportar los requerimientos de unparticular
dispositivo o [Link] J2ME el teléfono celular es el dispositivo móvil por
excelencia, debido a la gran cantidadde aplicaciones que este puede soportar, a
pesar de ser un dispositivo con relativa pocacapacidad de memoria y
procesamiento (aunque esto últimamente ha dejado de ser unmito, pues con la
salida de celulares con procesador doble núcleo las cosas han idocambiando).
Además el teléfono celular es un dispositivo que se ha convertido en “unanecesidad
para el hombre”; por lo que ha hecho que este interactué con sus
aplicaciones(agenda, juegos, SMS) y cada día aparece una nueva necesidad de
aplicación para hacermucho más fácil un proceso que de otra manera lleva mucho
más tiempo (ejemplo: laaplicación de banca móvil, registro de clientes en línea), un
sector en Colombia donde estetipo de dispositivo ha alcanzado un gran auge es el
sector Financiero y [Link] esto con la misión de J2ME.
Rafael Consuegra García
Programación de dispositivos móviles - 275832
3
"
Decimos que un MIDlet es una aplicación JAVA realizada con el perfil MIDP
sobre laconfiguración CLDC". Con sus palabras, explique el significado de
esta afirmación.
Midlet es un programa en lenguaje de programación Java para dispositivos
embedidos (sededican a una sola actividad), más específicamente para la máquina
virtual JavaMicroEdition (Java ME). Generalmente son juegos y aplicaciones que
corren en un teléfonomóvil. Está desarrollada bajo la especificación MIDP (perfil
para información de dispositivomóvil).
Si se está familiarizado con la programación de applets, se conocen las diferencias
quetiene con respecto a una aplicación Java normal. La primera es que un applet se
ejecutasobre un navegador web. Otra importante es que, a diferencia de un
programa Javaestándar, un applet no tiene un método main(), además, un applet
tiene que ser unasubclase de la clase Applet, e implementar unos métodos
concretos (init, start, stop,destroy). En este sentido, un MIDlet es más parecido a un
applet que a una aplicación Javaestándar. Un MIDlet tiene que ejecutarse en un
entorno muy concreto (un dispositivo consoporte J2ME), y tampoco cuenta con un
método main(). Un MIDlet tiene que heredar dela clase MIDlet e implementar una
serie de métodos de dicha [Link] MIDlet puede estar en tres estados diferentes:
en ejecución, en pausa o [Link] del estado en el que esté, la
máquina virtual llamará al métodocorrespondiente, es decir, startApp() cuando
entre en ejecución, pauseApp() cuando elMIDlet entre en pausa y destroyApp() a la
finalización del MIDlet. Estos estados (métodos)son de carácter obligatorio en
declararlos, aun si no los vamos a emplear.
Rafael Consuegra García
Programación de dispositivos móviles - 275832
4
Configuración CLDC
: Esta configuración está diseñada para dispositivos con conexiones dered
intermitentes, procesadores lentos y memoria limitada como son teléfonos
móviles,asistentes personales (PDAs), etc. Está orientado a dispositivos que
cumplan las siguientescaracterísticas:1.
Procesador:16 bit/16 MHz o más2.
Memoria: 160-512 KB de memoria total disponible para la plataforma Java3.
Alimentación: Alimentación limitada, a menudo basada en batería4.
Trabajo en red: Conectividad a algún tipo de red, con ancho de banda
limitadohabitualmenteDecimos que un MIDlet es una aplicación JAVA realizada con
el perfil MIDP sobre laconfiguración CLDC, porque son aplicaciones que están
orientadas a dispositivos quecumplen con las siguientes características
•
Reducida capacidad computacional y de memoria
•
Conectividad limitada (en torno a 9600 bps).
•
capacidad grafica muy reducida
•
Entrada de datos alfanumérica reducida
•
128 Kb de memoria no volátil para componentes MIDP
•
8 Kb de memoria no volátil para datos persistente de aplicaciones
•
32 Kb de memoria volátil en tiempo de ejecución para la pila Java
Rafael Consuegra García
Programación de dispositivos móviles - 275832
5
Hemos visto que a través del curso usaremos varias herramientas
freeware para laprogramación de dispositivos móviles. Estas herramientas
serán usadas a lo largo del curso, ysobre todo, para el proyecto final. Cree
un pequeño manual en el que, con sus palabras, indiquecuales son las
herramientas usadas y una breve descripción del uso de cada una de ellas.
Añadaa su pequeño manual, fotos de la instalación de este software en su
computador.
Las herramientas de desarrollo a utilizar dependerán de la plataforma para la que
se hayaplanteado la aplicación. Si la aplicación debe funcionar en dispositivos
Windows Mobile(hoy en día Microsoft está implementando Windows phone 7 en sus
dispositivos), deberáutilizarse el Visual Studio de Microsoft, un entorno de desarrollo
bastante caro (Microsoftofrece la versión express para desarrolladores que es
completamente gratis), pero que escasi sin discusión una de las mejores de todos
las disponibles, y para la que se va a contarcon más documentación de la que
pueda llegar a [Link] dispositivos Symbian (nokia), la opción más
extendida es, la que abordaremos en estecurso, J2ME. Las herramientas de
desarrollo para J2ME no están tan refinadas como las deWindows Mobile (hoy
Windows pone 7), pero aun así, hay unos entornos específicos, elNetBeans Mobility
Pack ([Link] y plugins y add-ons para losIDES java
más populares: Eclipse (Free) e Intelli J IDEA (Licenciado). Los tres entornos, unavez
instalados los plugin correspondientes, permiten desarrollar, empaquetar y
testearaplicaciones J2ME en los emuladores incorporados. Pero nunca debe
olvidarse que losemuladores no son el dispositivo real, sino, como su nombre indica,
emulaciones deldispositivo que están corriendo en una máquina que es varios
órdenes de magnitud másrápida. Por tanto, lo que en un emulador funciona bien,
puede que en el dispositivo nofuncione tan [Link] eso, siempre que se desarrolle
para un dispositivo móvil, pero sobre todo si se estáhaciendo en J2ME, hay que
probar los programas en el dispositivo según se estándesarrollando. Y cuanto antes
se empiece a probar, mejor, de esa forma los posiblesproblemas aflorarán antes, y
serán más fáciles de [Link] herramientas dentro de la grama de freeware
que nos permite desarrollaraplicaciones sobre la especificación J2ME, es Wireless
Toolkit 2.x que es simplemente unemulador al que le proporcionamos las clases
java ya creadas y podemos ver el MIDlet enejecución. La evolución del Wireless
Toolkit es el Java ME SDK 3.0, el cual ofrece emulaciónde dispositivos, en un
entorno de desarrollo independiente, y un conjunto de utilidadespara el desarrollo
rápido de aplicaciones Java ME. Este entorno de desarrollo integra CLDC,CDC y la
tecnología Blu-ray Disc Java (BD-J) en un solo SDK. También cabe destacar dentrode
este tipo de herramientas se encuentran Oracle 9I Jdeveloper,
MetroworksCodeWarrior Wireless Studio, Borland Jbuilder MobileSet y Sun ONE
Studio Micro [Link] este curso yo instale el Java ME SDK 3.0 el cual se
consigue en el siguiente
link([Link]
[Link]#sun_java_me_sdk-3.0-rr-oth-JPR).
Rafael Consuegra García
Programación de dispositivos móviles - 275832
6
El Java ME SDK 3.0, es una aplicación de 32 bits, necesita para su instalación el SDK
de 32bit, particularmente instale el JDK 7U1 que es el último en la página de
Java([Link]
[Link]).El proceso de instalación se inicia descargando el archivo jdk-7u1-
[Link], Unavez descargado este se da doble click sobre el archivo y se
siguen los pasos que semuestran en las imágenes a continuación.
Dar Click en Next
Rafael Consuegra García
Programación de dispositivos móviles - 275832
7
Seleccionar Demos y Ejemplos para que se ejecuten desde el disco
duroPara sistemas Windows 7 de 64 Bits la ruta de instalación es C:\
Program Files (x86)\Java. Dar click en Next
R
afael Consuegra García
Programación de dispositivos móviles - 275832
8
Finaliza la Instalación del JDK.
Una vez instalado el JDK procedemos a la instalación de Java ME SDK 3.0, el cual
hemosdescargado previamente. Para el proceso de instalación seguiremos los
pasos que semuestran en la graficas a continuación:
Dar Doble Click sobre el archivo sun_java_me_sdk-3_0-win. Presionamos
Ejecutar
Rafael Consuegra García
Programación de dispositivos móviles - 275832
9
Aceptamos los términos de Licencia y presionamos NextSeleccionamos la
ruta donde deseamos instalar el Java ME 3.0. Seleccionamos la ruta donde
se encuentra el JDK de 32bits (en SO Windows 7 de 64 bit’s esta ruta es
C:\Program Files (x86)\Java\jdk1.7.0_01). Damos Click en Next
Rafael Consuegra García
Programación de dispositivos móviles - 275832
10
Chequemos que el proceso busque actualizaciones del producto. Damos
click en NextEsperamos que el sistema instale el producto. Una vez
terminada la instalación nos debe salir este mensaje y se debeiniciar el
Java ME SDK 3.0 Device Manager de forma automática. Damos click en
Finish.
Rafael Consuegra García
Programación de dispositivos móviles - 275832
11
Iniciamos el Java ME 3.0, para ello damos doble click sobre el icono de
acceso directo del escritorio
Si el proceso de instalación fue satisfactorio y se cumplieron los pasos aquí
expuestos, se nos debeabrir un IDE similar a la imagen a continuación:
Rafael Consuegra García
Programación de dispositivos móviles - 275832
12
Seleccionamos algún ejemplo de los demos que trae y le damos run main
Project o presionamos la tecla F6