Logo Studenta

DPMO_U1_Contenido

¡Este material tiene más páginas!

Vista previa del material en texto

Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 1 
 
 
 
Ingeniería en Desarrollo de Software 
8º Semestre 
 
 
Programa de la asignatura: 
Programación móvil 
 
 
Unidad 1: Tecnologías para mis aplicaciones móviles 
 
 
Ciudad de México, agosto de 2023 
 
 
Clave: 
15144845 
 
 
 
Universidad Abierta y a Distancia de México 
 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 2 
Índice 
Unidad 1. Tecnologías para mis aplicaciones móviles .............................................................. 3 
Presentación de la Unidad ......................................................................................................... 3 
Logros…………………………………………………………………………………………………..4 
Competencia específica ............................................................................................................. 4 
1.1. Evolución de los dispositivos móviles ................................................................................. 4 
1.2. Tecnologías aplicadas a la programación móvil ................................................................. 6 
1.3. Estructura de una aplicación para tecnología móvil ......................................................... 14 
1.3.1. J2ME ............................................................................................................................... 15 
1.3.2. Android ........................................................................................................................... 18 
1.3.3. Midlets ............................................................................................................................ 22 
1. 4. Herramientas de desarrollo .............................................................................................. 25 
1.4.1. Plataformas: Eclipse, Netbeans, J2ME ......................................................................... 26 
1.4.2. Emuladores .................................................................................................................... 30 
1.4.3. Importancia y creación de archivos JAR y JAD ............................................................. 35 
Cierre de la Unidad ................................................................................................................... 38 
Para saber más ........................................................................................................................ 38 
Fuentes de consulta ................................................................................................................. 39 
 
 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 3 
Unidad 1. Tecnologías para mis aplicaciones móviles 
 
Presentación de la Unidad 
 
Bienvenido a la Unidad 1. Tecnologías para mis aplicaciones móviles de la asignatura 
Programación móvil. En esta etapa de la carrera Desarrollo de software ya cuentas con 
conocimientos avanzados de programación de sistemas de software, programación 
orientada a objetos, y sistemas operativos; sin embargo, te has preguntado, ¿cómo es 
posible que un sistema operativo pueda administrar los recursos de un dispositivo móvil tal 
como un teléfono? O, ¿cómo es posible que haya aplicaciones para distintos dispositivos? 
 
Ahora bien, seguramente tienes conocimientos de lo que es un dispositivo móvil y has 
estado en contacto con ellos, como puede ser un teléfono, una cámara fotográfica con 
conexión a internet, una tableta electrónica, con la cual es posible comunicarse, accesar a 
plataformas de estudio, tener acceso a diversas formas de entretenimiento desde música, 
videos, películas. Seguramente también has observado una serie de aplicaciones que son 
muy útiles en la vida diaria, desde el procesador de texto, la hoja de cálculo o la aplicación 
para hacer presentaciones, hasta aquellas que permiten organizar las actividades diarias, 
tales como, el reloj, la agenda, el GPS, entre otras. 
 
Todas esas aplicaciones fueron programadas utilizando el paradigma de programación 
orientados a objetos, para determinadas plataformas mediante el uso de herramientas de 
desarrollo enfocadas en dispositivos específicos, por lo que es importante que, como futuro 
desarrollador de software, estudies esta alternativa para tu vida profesional. 
 
Es por eso que esta primera unidad tiene la intención de que conozcas las tecnologías para 
el desarrollo de aplicaciones híbridas para dispositivos móviles de transmisión de datos 
mediante la estructura de una aplicación. Esto como parte fundamental para el logro de la 
competencia de la materia, la cual es el desarrollo de aplicaciones híbridas para dispositivos 
móviles de transmisión de datos dirigidos al diseño e implementación de soluciones de 
acceso y gestión de información en un entorno organizacional mediante las tecnologías 
Android y J2ME. 
 
Estos dispositivos, sin la programación de las diferentes aplicaciones que salen dia con dia, 
serían únicamente una maquinaria sin sentido. Ante ello, lo que nos ocupa conocer y 
desarrollar en esta asignatura es, precisamente, las diversas tecnologías de programación 
de estas aplicaciones para dispositivos móviles que hacen dan vida a la maquinaria diversa 
que existe para comunicación y los diversos ámbitos de la vida. 
 
 
 
 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 4 
Logros 
 
Al finalizar esta unidad lograrás: 
• Identificar las tecnologías para el desarrollo de dispositivos móviles. 
• Identificar las herramientas de desarrollo y estructuras de desarrollo de dispositivos 
móviles. 
• Relacionar las estructuras de los dispositivos móviles con las herramientas de 
desarrollo. 
 
 
Competencia específica 
 
• Identifica las tecnologías para el desarrollo de aplicaciones híbridas para dispositivos 
móviles de transmisión de datos mediante la estructura de una aplicación. 
 
 
1.1. Evolución de los dispositivos móviles 
 
Un dispositivo móvil es, en palabras de Tardáguila (2009), “aquel microordenador que es lo 
suficientemente ligero como para ser transportado por una persona, y que dispone de la 
capacidad de batería suficiente como para poder funcionar de forma autónoma”. 
 
Bien, ahora, ¿cuantos años tienes hoy? La pregunta va orientada a que mires atrás y 
visualices cómo era tu vida antes de la época de los teléfonos inteligentes. Si eres más 
joven seguramente no conociste los primeros teléfonos, y si eres mayor, has vivido la 
evolución de los mismos. 
 
Revisando la historia de la evolución de los dispositivos móviles, en un artículo de la BBC 
Mundo (portal virtual) se muestra la entrevista que se le hizo a Martin Cooper, el creador del 
primer celular en 1973, en el programa de tecnología Click. 
 
Martin Cooper con el Motorola DynaTAC. Fuente: 
http://www.bbc.co.uk/staticarchive/08f23c3d0804a62ebed6f1a5b27deb736f5b647a.jpg 
 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 5 
El dispositivo pesaba mas de un kilo y costaba unos 3,995 dólares aproximadamente. A 
partir de este punto la tecnología y las herramientas de desarrollo han evolucionado 
exponencialmente, buscando siempre mejorar el desempeño, el tamaño, la comodidad, la 
utilidad del mismo y hasta el precio. 
 
Evolución del tamaño de los celulares. Fuente: https://encrypted-
tbn0.gstatic.com/images?q=tbn:ANd9GcSJLBLLGoBVR64uwWRwNJPo029u8unHItWwX0UNqJURaWG__RTH 
 
Los dispositivos móviles más importantes en la actualidad son: 
• Teléfono inteligente: Es un dispositivo que permite hacer llamadastelefónicas, con 
características como correo electrónico, reproductor de música, radio, televisión, 
juegos, redes sociales, cámara fotográfica/video, hojas de cálculo, editor de textos, 
etc. 
 
• Videoconsola portátil: Es una consola de videojuegos ligera con una pantalla 
incorporada, controles y altavoces, que permite a los jugadores llevarla consigo y 
jugar en cualquier momento y en cualquier lugar. 
 
• Reproductor de audio portátil: Es un dispositivo móvil personal que permite al 
usuario escuchar audio grabado de forma móvil. 
 
• Tableta electrónica que sustituye a la PDA (Personal Digital Assistant): Es una 
computadora personal inalámbrica portátil, con una interfaz de pantalla táctil. El 
tamaño es mas pequeño que una PC portátil pero mas grande que un teléfono 
inteligente. Por su parte, la PDA fue un asistente personal digital que combinaba 
funciones computacionales con telefonía e internet. 
 
• Cámara de video y fotografía: Es un dispositivo electrónico portátil capaz de grabar 
video y tomar fotografías que pueden compartirse al instante vía internet a través de 
redes sociales. 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 6 
 
• Mensáfono: Es es un dispositivo de telecomunicaciones sencillo que recibe 
mensajes de texto corto. 
 
• Computadora portátil: Es una computadora que está diseñada para ser 
transportada de un lugar a otro. 
 
Los teléfonos celulares han recorrido un largo camino en estos últimos tiempos. Hoy es 
impactante observar el tamaño de los mismos, pues algunos caben en la palma de la mano; 
sin embargo, por las múltiples necesidades generadas y la idea de que ya no es sólo un 
celular, es un dispositivo móvil inteligente que sirve para comunicar, entretener y como 
herramienta de trabajo, entre otros usos que pueda tener. La reducción del tamaño, 
dependiendo de los fines, puede ya no ser funcional, ya que la pantalla ha aumentado en 
algunos teléfonos, priorizando la ventaja visual que puede tener una pantalla grande. Lo que 
se proyecta en el futuro es que el dispositivo se pueda doblar o incluso quizás ni sea 
necesario tocarlo, pues se proyecta que pueda estar implantado en el cuerpo. 
 
 
1.2. Tecnologías aplicadas a la programación móvil 
 
Para explicar el desarrollo de la tecnología aplicada a la programación móvil es necesario 
comprender el concepto de computación ubicua, ya que es la base del desarrollo de la 
tecnología móvil e inteligente. El concepto de computación ubicua fue postulado por Mark 
Weiser en 1991 (Paredes 2012), quien establece que la computación ubicua “es un 
mecanismo por el cual se facilita el uso de computadoras, haciendo que en nuestro entorno 
existan múltiples sistemas de computación, pero siendo éstos <<imperceptibles>> para el 
usuario, de esta forma, el entorno se transforma en un entorno <<inteligente>> capaz de 
responder a nuestros requerimientos”. Lo anterior lo observamos hoy en día en el uso de los 
dipositivos móviles donde hay diversas aplicaciones que se conectan a múltiples sistemas 
de computación, ya sea en servidores físicos o en la nube, de los cuales el usuario común 
no tiene conocimiento (y no es necesario que lo tenga), para intercambiar información en un 
entorno transparente e inteligente. Y es cuando “el usuario puede concentrarse en la tarea 
que desea realizar y no en la interacción con los sistemas informáticos" (Barro y Bugarín, 
2002, p. 377). Según Paredes (2012), la computación ubicua se fundamenta en cuatro 
paradigmas, mismos que se exponen a continuación: 
 
La descentralización: Es la etapa siguiente a la centralización del procesamiento en las 
computadoras centrales llamadas mainframes. En la era de la computadora personal, 
comúnmente llamada PC, se establece la arquitectura cliente-servidor, y es en esta era 
donde se detecta la necesidad de la sincronización para mantener los datos actualizados. 
 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 7 
La diversificación: Es el paradigma que consiste en ofrecer el mismo servicio, pero 
adaptado a diferentes dispositivos, sin depender del entorno y dispositivos con 
funcinalidades particulares. 
 
La conectividad: Para el logro de este paradigma, el cual consiste en darle a un dispositivo 
la capacidad de conectarse de forma autónoma, fue necesaria la definición de estándares y 
protocolos que permitieran una conectividad sin límites, en la que cualquier tipo de software 
se pudiera ejecutar sobre cualquier plataforma y red. Ejemplos de estos estándares y 
protocolos son: 
• WAP (por sus siglas en inglés, Wireless Access Protocol, Protocolo de Acceso 
Inalámbrico). 
• UMTS (por sus siglas en inglés, Universal Mobile Telecommunications System, 
Sistema Universal de Comunicaciones Móviles). 
• BlueTooth (protocolo de comunicación para redes inalámbricas mediante 
radiofrecuencia). 
 
La simplicidad: Este paradigma se caracteriza por proporcionar al usuario interfaces 
intuitivas, sencillas y funcionales, aunado a la rapidez en el acceso a los datos a través de 
diseños vanguardistas que combinan el software y el hardware. 
 
De acuerdo con lo anterior y con la evolución de los dispositivos móviles, lo que se espera 
en el futuro es conectividad en tiempo real 24 horas 7 días a la semana, el establecimiento 
de precios y planes de datos asequibles, mejora en la infraestructura de las comunicaciones 
e internet, acceso a todo tipo de sitios e información desde la plataforma de la nube y, por 
supuesto, que lo anterior detone en el desarrollo de aplicaciones para dispositivos móviles. 
 
La tecnología a considerar en este curso es J2ME y Android, puesto que según las 
tendencias del mercado son las más populares, accesibles e intuitivas en el desarrollo de 
aplicaciones para dispositivos móviles. 
 
 
J2ME 
Java es un lenguaje orientado a objetos que surge en 1995 (Oracle, 2014b), que poco a 
poco se ha ganado el lugar que tiene hoy en día en el desarrollo de software. Comenzó con 
los applets (pequeños programas que se descargan y se ejecutan a demanda), los cuales 
funcionaban en un entorno de internet lento y con un modelo de seguridad ambivalente 
todo/nada restrictivo. Después surgieron los servlets, derivados de la clase Servlet, que son 
programas que amplían las capacidades de un servidor. Debido a que el lenguaje se 
expande del lado del servidor, el lenguaje Java se adjudica el nombre de Java 2 Platform 
Enterprise Edition (J2EE ), lo cual se conoce como la primera revolución del lenguaje. La 
segunda revolución es la explosión de la programación para dispositivos móviles. Para esto 
se estableció la plataforma Java 2 Plataform Micro Edition (J2ME), que se ha cambiado a 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 8 
JME. Por cuestiones prácticas, en la presente unidad y en las subsiguientes se hará 
referencia a esta plataforma mediante el término J2ME. 
 
J2ME tiene dos ventajas competitivas: 
• El código se puede ejecutar en diversos modelos de dispositivos móviles, sin 
cambios. 
• Tiene características de seguridad importantes para el código descargable. 
 
Como explica Li y Kudsen (2005), J2ME se divide en configuraciones, perfiles y APIs (por 
sus siglas en inglés, Application Programming Interface, que es el conjunto de subrutinas, 
funciones, procedimientos y métodos, en la programación orientada a objetos), que 
proporcionan información acerca de las diferentes familias de dispositivos. 
 
Configuraciones. Una configuración está diseñada para un tipo específico de dispositivo 
basado en las limitaciones de potencia del procesador y la memoria, la configuración 
especifica una máquina virtual, JVM ( porsus siglas en inglés, Java Virtual Machine), una 
API de J2SE, y APIs que puedan ser necesarias. 
 
Los fabricantes de los dispositivos se encargan de incluir una configuración específica para 
sus dispositivos. 
 
Perfiles. Los perfiles son más específicos que las configuraciones. Un perfil se basa en una 
configuración y proporciona APIs adicionales tales como la interfaz de usuario, el 
almacenamiento persistente y todo lo que es necesario para desarrollar aplicaciones para el 
dispositivo. Revisa los perfiles y configuraciones de J2ME en la siguiente tabla. 
 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 9 
 
Perfiles y configuraciones de J2ME (Li y Kudsen, 2005; p. 218) 
 
APIs. Las APIs opcionales definen funcionalidad adicional específica que puede ser incluida 
en una configuración especial (o perfil). 
 
La colección en su totalidad (la configuración, el perfil y las APIs) se implementa en el 
dispositivo. 
 
En 1999 la versión del JDK 1.1 fue sustituida por la plataforma Java 2, y también surgió la 
J2ME para reemplazar las plataformas reducidas basadas en el JDK 1.1 y crear una sola 
solución basada en Java 2 (Oracle, 2014b). 
 
En el año 2000 nació la primera versión de una configuración, el Connected Limited Device 
Configuration (J2ME CLDC 1.0). Durante ese mismo año se creó la primera implementación 
de un perfil, el Mobile Information Device Profile (MIDP), el cual fue aceptado por la 
comunidad de desarrolladores de aplicaciones para dispositivos móviles. Actualmente la 
versión de J2SE es 8u31, misma que puedes descargar del sitio de Oracle (2023a). 
 
La siguiente tecnología es mas reciente pero no menos poderosa. A diferencia de J2ME, 
Android divide sus aplicaciones en componentes básicos, permitiendo la modularidad. 
También maneja Intents para el llamado de aplicaciones externas, usa interfaces en código 
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 10 
fuente y XML1, tiene facilidad para el acceso de los recursos del dispositivo con la API del 
SDK y la capacidad de declarar y usar recursos externos. Es por ello que se hace necesario 
revisar este entorno de desarrollo como alternativa al desarrollo de aplicaciones para 
dispositivos móviles. 
 
 
Android 
Android es un un producto de Google y nace como un sistema operativo y entorno de 
desarrollo para dispositivos móviles. Por su parte, Google surgió como un proyecto 
universitario de Page y Brin, según la historia (Google Empresa, s/f), entre 1995 y 1996 en la 
Universidad de Stanford. El nombre del proyecto –un motor de búsqueda- fue BackRub, y en 
1997 se cambió por Google. Un año después se pone en línea este famoso buscador. 
Integrando diversos elementos, Google evoluciona, y en el año 2000 se presenta Adwords –
un sistema de publicidad en línea y la barra Google, abarcando nuevos mercados entre 
2004 y 2007: Google maps es un servicio gratuito de aplicaciones de mapas en la web; 
Gmail es un servicio gratuito de correo electrónico para POP3 e IMAP. Search Appliance a 
nivel empresarial es un sistema de búsqueda universal que permite a las organizaciones 
incorporar información procedente de una variedad de fuentes externas e internas. 
Y SMS es un servicio de mensajería instantánea a a través de la aplicación de calendario. 
 
Con la enorme influencia de Google en la web de sus aplicaciones, el paso lógico era 
aprovechar la infraestructura e incursionar en el lanzamiento de un dispositivo móvil, el cual 
fue el HTC Dream y/o Google Phone a finales del 2007, con Android incluido, como una 
plataforma de código abierto diseñado para dispositivos móviles, que consiste en un 
paquete de software compuesto por: 
• Sistema operativo Linux, sistema operativo de libre distribucion. 
• Capa de librerías de bajo nivel en C y C++, para programación específica del 
dispositivo. 
• Framework de desarrollo de aplicaciones; es decir, un entorno para el desarrollo de 
las aplicaciones. 
• Suite de aplicaciones iniciales, reloj, calendario, correo, etcétera. 
 
Tambien se creó la Open Handset Alliance, compuesto por las siguientes empresas: 
Google, Motorola, HTC, LG, Samsung, Tmobile, China mobile, Intel, Nvidia, entre muchas 
más, con el objetivo de acelerar la innovación en los consumidores móviles y ofrecer una 
experiencia móvil más completa con menos costo. 
 
Android revoluciona el mercado al ser una plataforma verdaderamente abierta que separa el 
hardware del software que se ejecuta en él, permitiendo un mayor número de dispositivos 
 
1 XML es un subconjunto de SGML(Standar Generalised Mark-up Language), simplificado y adaptado a Internet 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 11 
para ejecutar las mismas aplicaciones y crear un ecosistema mucho más rico para los 
desarrolladores y consumidores. 
 
El SDK (por su siglas en inglés, Software Development Kit) de Android es un conjunto de 
herramientas de desarrollo de software para el desarrollo de aplicaciones, las cuales se 
divividen en: 
 
Herramientas de dispositivo virtual 
El manejador AVD (por sus siglas en inglés, Android Virtual Device) proporciona una 
interfaz gráfica de usuario en la que pueden crear y gestionar dispositivos virtuales 
Android que se ejecutan en el emulador. 
Emulador Android, basado en QUEMU2, que se usa para depurar y probar las 
aplicaciones en tiempo de ejecución. 
Mksdcard, ayuda a crear una imagen de disco que se usa con el emulador para 
simular la presencia de un manejador de la tarjeta de almacenamiento externo (como 
una tarjeta SD). 
 
Herramientas de Desarrollo 
Android. Permite el manejo de los dispositivos virtuales, proyectos y demás 
componentes del SDK. 
Vista de jerarquías. Proporciona una representación visual del diseño y una vista 
ampliada de la pantalla . 
Lint. Es una herramienta de análisis de código estático que verifica que los archivos 
fuentes del proyecto Android no tengan errores para permitir mejoras de 
optimización. 
SDK Manager. Permite manejar los paquetes de SDK, tales como las plataformas y 
los sistemas. 
Sqlite3. Permite accesar a los archivos de SQlite3 creados y usados por las 
aplicaciones Android. 
 
Herramientas de depuración 
adb (por sus siglas en inglés, Android Debug Bridge) es un conector de depuración 
que permite comunicarse con una instancia del emulador o con el dispositivo 
Android. 
ddms (por sus siglas en inglés, Dalvik Debug Monitor Server) permite depurar las 
aplicaciones. 
Traceview proporciona una vista gráfica de la ejecución de los logs guardados por la 
aplicación. 
 
 
 
2 Es un emulador de máquina de origen genérico, abierto y virtualizador 
3 Es un sistema de gestión de bases de datos relacional relativamente pequeño 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 12 
Herramientas de construcción 
JOBB permite encriptar y desencriptar archivos APK en OBB (por sus siglas en 
inglés, Opaque Binary Blob). 
Archivos APK 
 ProGuard empaqueta y optimiza el código mediante la eliminación de código no 
usuado. 
 Zipaling optimiza los archivos .apk. 
 
Herramientas de imagen 
Draw 9-patch permite crear un gráfico NinePatch4 usando un editor WYSIWYG5. 
Etc1tool, utilidad de línea de comando que codifica imágenes .pgn a la norma de 
comprensión etc1 y decodificar de forma inversa. 
Tracer de OpenGL ES, permite capturar comandos OpenGL ES6 y da seguimiento 
cuadro por cuadro de los gráficos. 
 
Y como herramientas de la plataforma se tiene a: 
• adb (vista en herramientasde depuración). 
• aid (por sus siglas en inglés, Android Interface Definition, definición de la interface 
Android). 
• aapt (por sus siglas en inglés, Android Asset Packaging Tool), lista y remueve 
archivos APK. 
• dexdump es un desemblador de aplicaciones. 
• dx son archivos ejecutables de la aplicación. 
 
Las anteriores herramientas son llamadas por las herramientas de construcción o el ADT 
(por sus siglas en inglés, Android Development Tools, herramientas de desarrollo de 
Android), no se accesan directamente por el programador. 
 
Se incluyen unas herramientas de intérpretes de comandos que pueden ser accesados a 
través de adb: 
• bmgr, para interactuar con el manejador de respaldos. 
• logcat, proporciona un mecanismo para colectar y visualizar las salidas de la 
depuración. 
 
Como observarás que todas ellas son necesarias para empezar a desarrollar para Android, 
a partir del año 2013 aparece el Android Studio, un entorno de desarrollo integrado, 
conocido como IDE (por sus siglas en inglés, Integrated Development Environment), en 
donde se pueden encontrar todas la herramientas. 
 
 
4 La clase Nine Patch permite dibujar un bitmap en 9 o más secciones. 
5 Acrónimo de What You See Is What You Get, ‘lo que ves es lo que obtienes’. 
6 Es una variante simplificada de la API gráfica OpenGL diseñada para dispositivos integrados. 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 13 
Las diversas versiones de Android que han surgido desde que fue desarrollado son las 
siguientes: 
 
Versiones Características 
Android Beta Etapa de producción en proceso por 
la empresa Android Inc. 
Android 1.0 Apple Pie Navegador Web, soporte para 
mensajes de texto SMS y MMS, 
discador para llamadas, wifi y 
bluetooth. 
Android 1.1 Banana Bread Soporte para diseños de sistemas, 
guardado de archivos adjuntos en los 
mensajes, y reseñas de negocios en 
los mapas. 
Android 1.5 Cupcake Teclado virtual en la pantalla y la 
inserción de widgets7. 
Android 1.6 Donut Cuadro de búsqueda mejorado, 
cámara y aplicación de galería, y 
renovada Android Market. 
Android 2.0/2.1 Eclair Aplicaciones organizadas y los 
widgets en varias pantallas y dentro 
de carpetas, fondos de pantalla 
animados responden al tacto. 
Android 2.2.x Froyo Dictado por voz que permite ingresar 
texto y las acciones de voz que 
controlan el teléfono. 
Android 2.3.x Gingerbread Nuevos sensores para juegos, para 
tocar, presionar, inclinar. 
Android 3.x Honeycomb Optimizado para tablets. 
Android 4.0.x Ice Cream Sandwich Nuevo, refinado, sencillo, e inteligente 
diseño. 
Android 4.1 Jelly Bean. Gráficos mas definidos y con Google 
Now, se consigue la información que 
se necesita en el momento justo. 
Android 4.2 Jelly Bean (Gummy Bear) Soporte para múltiples usuarios, 
mejora de la barra de notificiaciones 
con Quick Settings. 
Android 4.3 Jelly Bean Perfiles restringidos para tabletas, 
completado automático, 
 
7 Pequeña aplicación o programa 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 14 
compatibilidad idiomas hebreo y 
árabe. 
Android 4.4 KitKat Portadas de álbum o película a 
pantalla completa, modo envolvente, 
mayor rendimiento del sistema, 
Quickoffice. 
Android 5.0 Lollipop Notificaciones en la pantalla de 
bloqueo, API nueva para la cámara, 
OpenGL ES 3.1, nuevo diseño de 
interfaz, versión lanzada en 
noviembre del 2014. 
Android (2014) 
 
Las dos tecnologías más importantes para el desarrollo de aplicaciones móviles son Android 
y J2ME. El recorrido por su historia permite analizar la evolución de estas tecnologías. Como 
expertos en el desarrollo de software, es posible ampliar el panorama en relación con los 
desarrollos de aplicaciones móviles. 
 
En el siguiente tema se abordará la estructura de las aplicaciones móviles mediante las 
tecnologías mencionadas. 
 
 
1.3. Estructura de una aplicación para tecnología móvil 
 
La estructura de una aplicación móvil es la arquitectura de un entorno de desarrollo, y se 
refiere a los elementos que la conforman (Gálvez y Ortega, p. 5); es en sí, cómo está 
conformado el proyecto de la aplicación según el entorno de desarrollo que se utilice. 
 
En la asignatura Fundamentos de programación identificaste cómo está conformado un 
programa. Ahora bien, una aplicación es finalmente también un programa, el cual vamos a 
identificar cómo está conformado en J2ME y en Android, y cuáles son las estructuras que se 
generan en sus respectivos proyectos según el entorno de desarrollo. 
 
Para consultar algunas nociones sobre la plataforma J2ME y Android, revisa el documento 
U1. Nociones de J2ME y Android respectivamente, en la carpeta Materiales para el 
desarrollo de la Unidad 1. 
 
Con base en lo anterior, en los siguientes temas se revisará la conformación de una 
aplicación y la estructura generada de una aplicación para J2ME y en Android. 
 
 
 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 15 
1.3.1. J2ME 
 
Las aplicaciones que se programan en el perfil J2ME y la configuracion CLDC se llaman 
midlets, por remembranza de los applets. La aplicación está conformada con los siguientes 
elementos descritos en la tabla. 
 
// Incluye la superclase de MIDlet 
import javax.microedition.midlet.*; 
// Incluye las librerías de interfaz de usuario de MIDP 
import javax.microedition.lcdui.*; 
 
/* 
 * 1. Todos los MIDlets deben extender la clase MIDlet. 
 * 2. CommandListener es el interfaz de gestión de envento del API 
de alto nivel de MIDP. */ 
public class HelloWorld extends MIDlet implements CommandListener{ 
 
 
// Componentes de UI8 del MIDlet 
 private Display display; 
 private TextBox mainScreen = null; 
 private Command exit = new Command("exit", Command.EXIT, 2); 
 
 // Constructor sin parámetros 
 public HelloWorld() { 
 display = Display.getDisplay(this); 
 mainScreen = new TextBox("Text Box", "Hello World CR", 512,0); 
 mainScreen.addCommand(exit); 
 mainScreen.setCommandListener(this); 
 } 
 
 // Implementación del método startApp() 
 public void startApp() { 
 display.setCurrent(mainScreen); 
 } 
 
 // Implementación del método pauseApp() 
 public void pauseApp() { 
 } 
 
8 UI Interfaz del usuario 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 16 
 
 // Implementación del método destroyApp() 
 public void destroyApp(boolean unconditional) { 
 } 
 /* 
 * Implementa del método correspondiente del interfaz 
CommandListener 
 */ 
 public void commandAction(Command c, Displayable s) { 
 if (c == exit) { 
 destroyApp(false); 
 notifyDestroyed(); 
 } 
 } 
} 
Estructura de una aplicación en J2ME 
 
Como se puede observar, se manejan los conceptos de clases, objetos y constructores tal 
como un programa Java; recuerda los conceptos revisados en las asignaturas Programación 
orientada a objetos I, II y III. 
 
Los nuevos métodos de la tecnología J2ME a conocer están documentados en: 
http://docs.oracle.com/javame/config/cldc/ref-
impl/midp2.0/jsr118/javax/microedition/midlet/MIDlet.html, a continuación se revisará su uso: 
 
startApp(): 
protected abstract void startApp () 
 
Es un método abstracto de la clase MIDlet, y por esa razón tiene que ser implementado en 
el Midlet. El hecho de que sea un método protegido (protected) indica que sólo puede ser 
utilizado en el paquete javax.microedition.midlet.MIDlet. Y puede ser redefinido como público 
(public) para que pueda ser llamado desde otro sitio. Si no hay ningún error (excepción), 
comenzará la ejecucióndel MIDlet. 
 
pauseApp(): 
pauseApp()protected abstract void pauseApp () 
 
Debido a que es una clase abstracta, se puede redefinir, y la implementación depende de la 
aplicación en sÍ, y lo que normalmente se hace es guardar el estado actual y liberar 
cualquier recurso que estuviera usando; la aplicación pasa a un estado seguro, a partir del 
cual se puede reanudar la ejecución. 
 
http://docs.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/javax/microedition/midlet/MIDlet.html
http://docs.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/javax/microedition/midlet/MIDlet.html
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 17 
destroyApp(): 
protected abstract void destroyApp (boolean unconditional); 
 
Cuando la aplicación ya cumplió con lo solicitado, o simplemente se desea cerrarla, el 
método le dice al MIDlet que termine la aplicación para entrar en el estado de Destruido; y 
en respuesta a esto la aplicación tiene que liberar todos los recursos usados y guardar los 
datos persistentes tales como las preferencicias o estados. 
 
Los métodos se usan para notificar que el Midlet ha pasado al estado pausado, destruido o 
activo, respectivamente. 
public void notiyPaused (), public void notiyDestroyed (), public 
void resumeRequest (): 
 
La estructura que se genera al crear el proyecto de la aplicación en J2ME 
Wireless Toolkit se puede observar en la imagen siguiente : 
 
Estructura de una aplicación en en J2ME Wireless Toolkit (Gálvez, 2010; p.10) 
 
El directorio apps es el directorio principal que contiene el directorio del proyecto; a su vez, 
contiene una serie de subdirectorios tales como: 
• src, contiene los archivos fuentes java. 
• res, contiene los recursos del Midlet. 
• lib, contiene librerías adicionales en formato JAR o ZIP 
• bin, contiene los archivos JAD y JAR 
• clases, contiene las clases del proyecto 
• tmplib, contiene las librerías temporales 
• tmpclasses, contiene las clases temporales 
 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 18 
Para consultar algunas nociones sobre J2ME, revisa el documento U1. Nociones básicas de 
J2ME, que se ubica en la carpeta Materiales de desarrollo de la Unidad 1. 
Las acciones que se hacen con el MIDlet se explicarán en el tema 1.3.3. Midlets. Pero, 
¿cuál es la estructura del entorno de desarrollo de Android? A continuación se expondrá 
este tema. 
 
 
1.3.2. Android 
 
A continuación se revisa la estructura de una aplicación en Android. 
package com.example.helloworld; Paquete de helloworld 
import android.os.Bundle; Importación de las 
librerías Bundle, 
Activity y Menu. 
import android.app.Activity; 
import android.view.Menu; 
 
public class HelloWorldActivity extends 
Activity 
Clase principal 
helloWorldActivity que 
se extiende de la clase 
Activity. 
{ 
 @Override protected void onCreate(Bundle 
savedInstanceState) 
Método onCreate() 
cuyo parámetro 
contiene el estado 
anterior de la actividad. 
 {super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 
 } 
 
@Override public boolean 
onCreateOptionsMenu(Menu menu) 
Método 
onCreateOptions() 
recibe como parámetro 
un objeto de tipo menú. 
 { 
 // crea el menú; esto agrega elementos a la 
barra de acción si está presente 
 
 getMenuInflater().inflate(R.menu.main, 
menu); 
 
return true; 
 } 
Estructura de aplicación en Android (Mkyong, 2011) 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 19 
Como es posible observar, la programación es orientada a objetos, con nuevas clases por 
conocer y aplicar. Ahora bien, la estructuctura que se genera automáticamente para un 
proyecto de Android, en la aplicación Netbeans, es la siguiente (Gargenta, 2011): 
 
Estructura del proyecto Android en NetBeans (Gargenta, 2011) 
 
El directorio /src/ contiene todo el código fuente de la aplicación, código de la interfaz gráfica, 
clases auxiliares, etcétera. Inicialmente, Eclipse crea el código básico de la pantalla (Activity) 
principal de la aplicación, que normalmente se llama MainActivity, y siempre bajo la 
estructura del paquete java definido, tal como se observa en la imagen siguiente. 
 
Directorio src y MainActivity obtenido de http://www.sgoliver.net/blog/estructura-de-un-proyecto-android/ 
 
 
Directorio res obtenido de http://www.sgoliver.net/blog/estructura-de-un-proyecto-android/ 
http://www.sgoliver.net/blog/estructura-de-un-proyecto-android/
http://www.sgoliver.net/blog/wp-content/uploads/2010/08/carpeta-src.png
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 20 
Contiene todos los archivos de recursos necesarios para el proyecto: imágenes, videos, 
cadenas de texto, etcétera. Los recursos se distribuyen entre las siguientes subcarpetas: 
 
Carpeta Descripción 
/res/drawable/ 
Contiene las imágenes y otros elementos gráficos 
usados en la aplicación. Puede contener subcarpetas 
para definir diferentes recursos, dependiendo de la 
resolución y densidad de la pantalla del dispositivo: 
• /drawable-ldpi (densidad baja) 
• /drawable-mdpi (densidad media) 
• /drawable-hdpi (densidad alta) 
• /drawable-xhdpi (densidad muy alta) 
/res/layout/ 
Contiene los archivos de definición XML de las 
diferentes pantallas de la interfaz gráfica. De acuerdo a 
la orientación del dispositivo, se definen distintos layouts 
en dos subcarpetas: 
• /layout (vertical) 
• /layout-land (horizontal) 
/res/anim//res/animator/ 
Contiene la definición de las animaciones utilizadas por 
la aplicación. 
/res/color/ 
Contiene archivos XML de definición de colores según 
estado. 
/res/menu/ 
Contiene la definición XML de los menús de la 
aplicación. 
/res/xml/ 
Contiene otros archivos XML de datos utilizados por la 
aplicación. 
/res/raw/ 
Contiene recursos adicionales, normalmente en formato 
distinto a XML. 
/res/values/ 
Contiene otros archivos XML de recursos de la 
aplicación, tales como cadenas de texto (strings.xml), 
estilos (styles.xml), colores (colors.xml), arrays de 
valores (arrays.xml), etc. 
Directorio res (Sgoliver, 2014) 
 
 
 
Directorio /gen/ 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 21 
Contiene elementos de código generados automáticamente al compilar el proyecto. Estos 
elementos no deben modificarse manualmente. 
Incluso la cabecera de estos elementos incluye una leyenda al respecto: 
/* AUTO-GENERATED FILE. DO NOT MODIFY. 
 * 
 * This class was automatically generated by the 
 * aapt tool from the resource data it found. It 
 * should not be modified by hand. 
 */ 
 
Directorio gen (Sgoliver, 2010) 
 
Directorio /assets/ 
Contiene los archivos auxiliares necesarios para la aplicación, tales como las texturas, 
configuración y los datos del juego (que se incluyen en el paquete). 
 
Directorio /bin/ 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 22 
Contiene los elementos compilados de la aplicación y otros archivos auxiliares. El archivo 
con extensión .apk es el ejecutable de la aplicación que se instala en el dispositivo, el cual 
es el archivo Android-hola-usuario.apk, como se observa en la imagen siguiente: 
 
Directorio bin (Sgoliver, 2010) http://www.sgoliver.net/blog/?attachment_id=3392 
 
Directorio /libs/ 
Contiene las librerías auxiliares, normalmente en formato .jar, que se utilizan en la 
aplicación Android. Tal como se observa en la imagen, el archivoen el directorio libs, 
Android-support-v4.jar. 
 
Directorio libs (Sgoliver, 2010) http://www.sgoliver.net/blog/?attachment_id=3394 
 
Archivo AndroidManifest.xml 
Contiene la definición en XML de los aspectos principales de la aplicación, como por 
ejemplo, su identificación (nombre, versión, icono, …), sus componentes (pantallas, 
mensajes, …), las librerías auxiliares utilizadas o los permisos necesarios para su ejecución. 
 
Ya se explicó la estructura de una aplicación y de un proyecto en Android, donde se observa 
que el tipo de programación es orientada a objetos, en donde se trabaja con clases, objetos y 
se realizan las actividades normales de instanciación, redefinición de métodos y la estructura 
del proyecto con la serie de directorios y el contenido que se debe observar. 
 
Conociendo ya la estructura de una aplicación en J2ME y en Android, se tiene que es posible 
que una aplicación de J2ME (MIDlets) pueda usarse en un ambiente Android, mediante el uso 
del plugin de Android en el entorno de desarrollo de J2ME, por lo que es necesario conocer 
los estados y las acciones que se pueden hacer con un MIDlet, considerando que la estructura 
se abordó en el tema 3.1. 
 
 
 
 
1.3.3. Midlets 
http://www.sgoliver.net/blog/?attachment_id=3392
http://www.sgoliver.net/blog/?attachment_id=3394
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 23 
 
“Los MIDlets son aplicaciones creadas usando la especificación MIDP (Mobile Information 
Device Profile). Están diseñados para ser ejecutados, como ya sabemos, en dispositivos con 
poca capacidad gráfica, de cómputo y de memoria” (Gálvez y Ortega, 2003, p.31). En estos 
dispositivos se dispone de líneas de comandos para poder ejecutar las aplicaciones que se 
deseen. Los MIDlets contienen un software que los ejecuta y gestiona los recursos que 
éstos utilizan. El software que utilizan los MIDlets se llama gestor de aplicaciones o AMS 
(Application Management System), y su función es gestionar los MIDlets. El gestor de 
aplicaciones se encuentra en el dispositivo, lo cual posibilita la ejecución, pausa o 
destrucción de las aplicaciones J2ME. El AMS tiene las siguientes funciones: 
• Gestionar el ciclo de vida de los MIDlets. 
• Controlar los estados por los que pasa el MIDlet mientras está en ejecución. 
 
La estructura del programa ya se revisó en el subtema 3.1. J2ME, y en el presente subtema 
se expondrán las acciones que se pueden realizar mediante un MIDlet. 
 
Un Midlet tiene un comportamiento que se traduce en los diferentes estados en los que 
puede estar durante su ciclo de vida; estos estados se exponen en la imagen a 
continuación: 
 
Ciclo de vida del MIDlet (Gargenta, 2011, p. 29) 
 
Estado cargado: Para que una aplicación pueda ser usada, debe estar cargada en el 
dispositivo móvil. 
 
Estado activo: Sucede después de inciarse el MIDlet con el método New() que genera una 
instancia del mismo. Es posible que en cualquier momento pueda pasar a un estado 
pausado, por ejemplo, debido que se recibe una llamada al dispositivo y éste decide que 
necesita los recursos (pantalla y teclado) para tratar esa llamada entrante. 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 24 
 
Cuando el estado es pausado, es posible regresar al estado activo llamando a la función 
startApp(); por supuesto que se reanuda en el estado que se quedó antes de la pausa, 
por lo que resulta necesario hacer la diferenciación entre la llamada de primera vez del 
método y el llamado después de la pausa. 
 
El método destroyApp() puede ser llamado desde el estado activo, pausado o cargado. 
Puede suceder que el MIDlet pida que no quiere entrar en el estado destruido, por lo que 
lanza una excepción MIDletStateChangeException. La excepción es válida si el parámetro 
del método (boolean unconditional) es falso; si es verdadero, el Midlet terminará su 
ejecución y su destrucción es inevitable. 
 
Al principio del subtema se mencionaron las funciones del AMS. A continuación se revisarán 
a detalle estas funciones desde la posición del usuario del dispositivo móvil; todo comienza 
cuando el usuario requiere de un Midlet, ya sea como entretenimiento o para actividades 
profesionales, entonces busca en cualquiera de los portales, como Play Store o Galaxy App, 
la aplicación deseada. Encontrando la aplicación requerida, el AMS del dispositivo móvil 
realiza lo siguiente (Gálvez y Ortega, 2003; p.32): 
 
La instalación 
1. Si el AMS descarga primero el JAD, el MIDlet debe tener exactamente la misma URL 
especificada en el descriptor del archivo JAD. 
2. Si el servidor responde a la petición del MIDlet con un código 401 (Unauthorized) o un 
407 (Proxy Authentication Required), el dispositivo debe enviar al servidor las 
correspondientes credenciales. 
3. El MIDlet y las cabeceras recibidas deben ser validadas para verificar que el MIDlet 
descargado puede ser instalado en el dispositivo. El usuario debe ser notificado de los 
siguientes problemas durante la instalación: 
• Si no existe suficiente memoria para almacenar el MIDlet, el dispositivo debe retornar el 
código de estado (Status Code) 901. 
• Si el JAR no está disponible en la URL del JAD, el dispositivo debe retornar el Código 
907. 
• Si el JAR recibido no coincide con el descrito por el JAD, el dispositivo debe retornar el 
código 904. 
• Si el archivo manifesto no puede ser extraído del JAR, o existe algún error al extraerlo, 
el dispositivo debe retornar el código 907. 
• Si los atributos MIDlet-Name, MIDlet-Version y MIDlet Vendor del archivo JAD no 
coinciden con los extraidos del archivo manifest del JAR, el dispositivo debe retornar 
el código 905. 
 • Si la aplicación falla en la autenticación, el dispositivo debe retornar el código 909. 
• Si falla por otro motivo distinto del anterior, debe retornar el código 911. 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 25 
• Si los servicios de conexión se pierden durante la instalación, se debe retornar el código 
903 si es posible. 
 
La instalación se da por completa cuando el MIDlet esté disponible en el dispositivo, y no 
haya ocurrido un error irrecuperable. 
 
Actualización de MIDlets 
El MIDlet ya está cargado en el dispositivo, y después de un tiempo de uso, resulta que hay 
una nueva versión del MIDlet. El dispositivo debe ser capaz de informar al usuario de la 
actualización y permitir que el usuario decida si desea actualizar o no el MIDlet; si accede a 
la actualización, si es afirmativo, considerar que un MIDlet sin firma no debe reemplazar a 
otro que sí la tenga. 
 
Ejecución de MIDlets 
Cuando el usuario hace uso de la aplicación, ejecuta el MIDlet que, a su vez, invoca a las 
clases CLDC y MIDP requeridas por la especificación MIDP. La interfaz del usuario debe 
permitir al usuario ejecutar el MIDlet seleccionado. 
 
Eliminación de MIDlets 
Suele suceder que el usuario instala a diestra y siniestra MIDlets, y muchos, por supuesto, 
consumen recursos, y es cuando el dispositivo debe permitir al usuario eliminar MIDlets no 
necesarios. Antes de eliminar una aplicación, el usuario debe de confirmar la orden. El 
dispositivo debe de notificar alguna circunstancia durante la eliminación que requiera 
atención, como que el MIDlet a borrar podría contener a otros MIDlets que afectarían el 
funcionamiento del dispositivo. 
 
Como te habrás dado cuenta, hemos abordado dos estructuras básicas, la del Android y la 
de J2ME, así como las acciones que son posibles realizar desde la posición del usuario y el 
AMS con los MIDlets. Veamos ahora con qué herramientas se cuenta para el desarrollo de 
las aplicaciones en el siguientetema. 
 
 
1. 4. Herramientas de desarrollo 
 
En el vertiginoso mundo de la programación, herramientas más herramientas menos, es 
posible encontrar un sinnúmero en el mercado; sin embargo, depende de la facilidad de su 
uso o accesibilidad el que sobrevivan en la jungla digital, dependiendo de la compatibilidad 
con el sistema operativo. Las herramientas de desarrollo son aquellas que permiten 
programar, compilar y ejecutar las aplicaciones para los dispositivos móviles, 
proporcionando un entorno de desarrollo y características propias para ciertos dispositivos. 
Por ejemplo, existen las siguientes para la plataforma Java : 
• Java 2 SDK 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 26 
• Java 2 Micro Edition. 
• Netbeans 
Mismas que se abordarán a continuación. 
 
 
1.4.1. Plataformas: Eclipse, Netbeans, J2ME 
 
Las plataformas de desarrollo proporcionan un entorno para el desarrollo de aplicaciones 
para los dispositivos móviles. La selección de cualquiera de ellos dependerá del 
programador y lo cómodo que se sienta con la selección, así como el objetivo de las 
aplicaciones móviles que se desarrollarán, las especificaciones del proyecto, perfil de 
usuarios, etcétera. A continuación se explicará cada uno de los entornos de desarrollo: 
 
Eclipse. Es un entorno de desarrollo para Java y tiene un plugin para Android para la 
programación de las aplicaciones. El IDE no necesita instalación, se baja del sitio oficial de 
Eclipse y se descomprime. Es necesario también descargar el SDK de Android, que se 
encuentra en el sitio de desarrolladores de Android; descomprime una vez descargado, 
teniendo presente la ruta. Se requiere el plugin de Android para Eclipse; en el menú 
Ayuda/Help, en Actualización de software/Software updates, se encuentra el plugin según la 
versión del IDE. El entorno de desarrollo de Eclipse se muestra a continuación: 
 
Entorno de desarrollo de Eclipse en Android 
El entorno de desarrollo es sencillo y tiene los siguientes elementos: 
http://www.eclipse.org/downloads/
https://developer.android.com/sdk/installing/index.html?pkg=tools.
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 27 
1.-Barras de menú 
2.-Barra de iconos o accesos rápidos 
3.-Ventana de despliegue de directorios 
4.-Ventana de edición de programas 
5.-Ventana de salida 
 
Este ambiente de desarrollo permite desarrollar aplicaciones tanto en J2ME y en Android, 
utilizando sus respectivos plugin9. Veamos en la imagen siguiente la integración del plugin 
de J2ME con Eclipse. 
 
 
Entorno de desarrollo Eclipse con J2ME 
 
Como se observa, el desarrollo de aplicaciones con Eclipse es muy versátil, con un 
ambiente amigable y totalmente gráfico. 
 
Netbeans. Es un entorno de desarrollo de aplicaciones JAVA con módulos para desarrollo 
de aplicaciones para dispositivos móviles. Es posible bajar el IDE en la siguiente dirección: 
htpp://www.netbeans.org; el IDE contiene el complemento para aplicaciones móviles Java 
 
9 Complemento de una aplicación que se relaciona con otra para aportarle una función nueva y 
generalmente muy específica 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 28 
ME, durante la instalación es posible selecionarlo o no, tal como se muestra en la imagen 
siguiente. 
 
Ventana de de instalación con el componente Java ME incluido 
 
La ventana del entono de desarrollo de Netbeans es la siguiente: 
 
Entorno de desarrollo Netbeans con J2ME 
1.-Barra de menú 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 29 
2.-Barra de iconos 
3.-Ventana de estructura del proyecto 
4.-Ventana de trabajo, muestra el código del programa 
5.-Ventana de miembros del programa, muestra los métodos de la clase 
 
También es posible programar aplicaciones para Android con su correspondiente plugin, el 
cual puedes encontrar en la siguiente liga: 
http://plugins.netbeans.org/plugin/19545/nbandroid 
 
 
Entorno de desarrollo de Netbeans para Android 
 
Como se puede observar, Netbeans es un poderoso IDE que permite el desarrollo de 
aplicaciones para J2ME y Android. 
 
J2ME. Es un paquete completo de desarrollo en conjunto con la herramienta KToolbar y el 
perfil MIDP. Con la herramienta KToolbar se puede compilar código sin necesidad de 
interactuar directamente con CLDC, al mismo tiempo que se dispone de un emulador de 
terminal telefónico y es posible probar el funcionamiento de la aplicación sobre el dispositivo 
móvil. La dirección de descarga es http://java.sun.com/javame/downloads/index.jsp. La 
versión más reciente es la 2.5; en la imagen siguiente es posible observar el entorno de 
desarrollo. 
http://plugins.netbeans.org/plugin/19545/nbandroid
http://java.sun.com/javame/downloads/index.jsp
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 30 
 
Entorno de desarrollo Toolkit de J2ME, 
http://www.it.uc3m.es/~celeste/docencia/j2me/tutoriales/midp1_0//PracticaIntroJ2ME/imag/ktoolbar.bmp 
 
El J2ME Wireless Toolkit es un ambiente de desarrollo exclusivo para J2ME, a diferencia de 
Eclipse y Netbeans, que pueden ser un entorno de desarrollo tanto para J2ME como para 
Android y programas JAVA. Considerando que los tres entornos de programación utilizan el 
perfil MIDP, se recuerda que las aplicaciones desarrolladas con este perfil son para 
dispositivos móviles tales como teléfonos y tabletas. 
 
Se ha revisado ya cuál es la estructura de las aplicaciones y las herramientas de desarrollo 
con las que se cuentan. Es importante que, al desarrollar las aplicaciones, se trabaje con 
emuladores; es decir, con programas mediante los cuales sea posible comprobar que la 
aplicación desarrollada funcione adecuadamente antes de ponerla a disposición de los 
usuarios. En el siguiente subtema se explicará el uso de los emuladores. 
 
 
1.4.2. Emuladores 
 
Según la Real Academia Española (2014), ‘emular’ significa imitar las acciones de otro, 
procurando igualarlas e incluso excederlas. Aplicado el término en programación móvil, es 
posible afirmar que los emuladores son programas que imitan la función del equipo móvil, 
permitiendo aceptar los mismos datos, ejecutar los mismos programas y conseguir los 
mismos resultados que en un dispositivo móvil. 
 
Generalmente en los ambientes de desarrollo se integran emuladores para probar la 
aplicación, mientras que hay otros emuladores que se pueden usar de acuerdo a la 
preferencia del programador. Normalmente los requerimientos técnicos de estos emuladores 
ajenos al entorno de desarrollo varían, pero, en promedio, se puede decir que los requisitos 
técnicos mínimos son los siguientes: 
• 1 Gb de RAM 
http://www.it.uc3m.es/~celeste/docencia/j2me/tutoriales/midp1_0/PracticaIntroJ2ME/imag/ktoolbar.bmp
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 31 
• 20 Gb libres en el disco duro 
• 1.2 Ghz en el procesador 
 
Como ejemplos de emuladores tanto para Android y J2ME se presentan los siguientes: 
 
BlueStacks 
Este emulador reproduce aplicaciones y juegos Android en pantallas completas, permite 
usar las que tiene instaladas en el dispositivo a través de Bluestacks Cloud Conect, y 
dispone de 10 aplicaciones ya instaladas. 
 
Su uso es medianamente fácil, por lo que es recomendable para interesados en este tipo de 
programas cuyo fin fundamental sea probar juegos populares de teléfonos inteligentes 
(smartphones). La imagen siguiente representa el entorno del emulador.Entorno de emulador BlueStacks 
http://www.programasgratisfull.com/wp-content/uploads/2014/11/bluestack1.jpg 
 
Youwave 
Este emulador se puede ejecutar en Windows XP, Vista 7 y 8. Envía y recibe imágenes 
desde las unidades usuales de memoria y posee simuladores de tarjetas SD. El 
inconveniente podría ser que no hay versiones gratuitas. La imagen siguiente muestra el 
entorno del emulador. 
http://www.programasgratisfull.com/wp-content/uploads/2014/11/bluestack1.jpg
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 32 
 
Entorno del emulador YouWave 
http://www.poderpda.com/wp-content/uploads/2011/10/YouWave-Android.png 
 
Android SDK 
Este emulador fue lanzado por Google, y su ventaja es que emula el sistema operativo de 
un smartphone con un poco más de precisión. Dispone de gran cantidad de configuraciones, 
permite probarlas previamente y comprobar su funcionamiento, además de incluir un SDK 
Manager para la descarga de paquetes modulares. En la figura siguiente se puede observar 
el emulador. 
 
Emulador Android SDK. http://oi38.tinypic.com/20i8j1z.jpg 
http://www.poderpda.com/wp-content/uploads/2011/10/YouWave-Android.png
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 33 
Para conocer el proceso de instalacion del Android JDK, revisar el video Instalación del 
Android SDK, en la carpeta Materiales para el desarrollo de la Unidad 1. 
 
Android para PC 
Éste es un excelente sistema operativo de código abierto, una excelente opción para instalar 
en netbooks en resolución nativa, pues soporta la aceleración del hardware OpenGl, para 
AMD Radeon y chipsets de Intel. Android para PC es el mejor emulador de Android; no 
obstante, una desventaja pudiera ser la instalación un poco complicada en la configuración, 
pero nada imposible. El contexto del emulador se presenta en la siguiente imagen. 
 
Emulador Android para PC. https://www.youtube.com/watch?v=r-mRYye_4qg minuto.4:49 
 
 
Para que observes el uso del emulador de Android, revisa el documento U1. Emulador de 
Android, en los Materiales de desarrollo de la Unidad 1. 
 
Los emuladores para J2ME, son: 
 
1. Wireless Toolkit incluye el emulador de dispositivos móviles; la imagen es la siguiente: 
https://www.youtube.com/watch?v=r-mRYye_4qg
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 34 
 
Emulador del Wireless Toolkit 
 
2. MidpX es una herramienta de integración que permite a los usuarios a administrar el 
J2ME. En la figura siguiente se puede observar el emulador. 
 
Emulador Android SDK 
http://www.f1cd.ru/soft/screens/windows/mobile/emulator/m_midpx_102_3.jpg 
http://www.google.com.mx/url?sa=i&rct=j&q=&esrc=s&frm=1&source=images&cd=&cad=rja&uact=8&ved=0CAcQjRw&url=http://www.f1cd.ru/soft/windows/mobile/emulator/midpx_102_15/&ei=bf3dVMKyMZCZyQT0joL4Dg&bvm=bv.85970519,d.aWw&psig=AFQjCNE8m3J7mACGQfwCoxEclNxlPnproA&ust=1423920799929121
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 35 
3. KEmulator lite es un emulador completo que permite ejecutar aplicaciones en formato 
JAR con una interfaz de una larga lista de móviles de todas las marcas. Es la mejor vía para 
probar aplicaciones sin necesidad de abandonar la computadora y con la ventaja de poder 
solucionar cualquier error en cuestión de segundos. 
 
Emulador Kemulator 
http://i970.photobucket.com/albums/ae185/jlg390/kemulator.jpg 
 
 
1.4.3. Importancia y creación de archivos JAR y JAD 
 
Es importante recalcar la importancia de los archivos JAR y JAD porque son los que 
contienen los archivos ejecutables y la descripción de tales archivos, respectivamente, y 
son éstos los que precisamente se instalan en el dispositivo móvil. Pero antes de abordarlos, 
hay un archivo manifiesto que describe el contenido del archivo JAR, el cual puede ser 
creado en cualquier editor de texto con la siguiente estructura: MIDlet-1: Inicio, inicio.png, 
Inicio: 
• MIDlet-Name: Inicio 
• MIDlet-Vendor: 
• MIDlet-Version: 1.2 
• Microedition-Configuration: CLDC-1.0 
• Microedition-Profile: MIDP-1.0 
La creación del archivo manifiesto es opcional. 
http://www.google.com.mx/url?sa=i&rct=j&q=&esrc=s&frm=1&source=images&cd=&cad=rja&uact=8&ved=0CAcQjRw&url=http://www.identi.li/?topic%3D42156&ei=Jf7dVPPHMcOSyATv6YDgCQ&bvm=bv.85970519,d.aWw&psig=AFQjCNGC6361vLVu5kIkz2DQgasyuuTBlQ&ust=1423921050274891
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 36 
Ahora bien, ¿qué son los archivos JAR y JAD? Un archivo JAR (por sus siglas en inglés, 
Java ARchive) es aquel archivo que permite ejecutar aplicaciones escritas en el lenguaje 
Java (Gálvez y Ortega, 2003). El archivo JAD (por sus siglas en inglés, Java Application 
Descriptor) es aquel archivo que contiene la descripción del programa, tal como la contenida 
en el archivo manifiesto y otra información de complemento, tales como (Gálvez y Ortega, 
2003): 
• MIDlet-Name 
• MIDlet-Vendor 
• MIDlet-Version 
• MIDlet-Description 
• MIDlet-Icon 
• MIDlet-Info-URL 
• MIDlet-Data-Size 
• MIDlet-Jar-Size 
• MIDlet-Jar-URL 
 
Los atributos ofrecen información sobre los MIDlets incluidos en el conjunto de programas 
(suite). Por ejemplo, se desarrolla una suite denominada Glucómetro, que permite al 
usuario registrar el nivel de glucosa y la presión arterial desde un dispositivo móvil. La suite 
contiene dos MIDlets: uno para registrar la información, y otro para consultar la información. 
Para desarrollar la clase se han usado métodos de utilidad, pertenecientes a la clase 
utilidades. En definitiva, las clases involucradas serían las siguientes (teniendo en cuenta 
que forman parte del paquete desarrollo.moviles): 
 
desarrollo.moviles.RegistraGlucosa 
desarrollo.moviles.ConsultaGlucosa 
desarrollo.moviles.Utilidades 
 
El manifiesto para esta suite sería el siguiente: 
 
 MIDlet-Name: Glucometro 
 MIDlet-Vendor: Programas Maria 
 MIDlet-Version: 1.2.0 
 MIDlet-Description: Conjunto de midlets de Glucometro 
 MIDlet-Icon: /desarrollo/moviles/iconos/gota.png 
 MIDlet-Info-URL: http://www.programasmaria.com/glucometro/info.html 
 MIDlet-Data-Size: 516 
 MicroEdition-Profile: MIDP-1.0 
 MicroEdition-Configuration: CLDC 
 MIDlet-1: 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 37 
Registra,/desarrollo/moviles/iconos/registra.png,desarrollo.moviles.
RegistraGlucosa 
 MIDlet-2: 
Consulta,/desarrollo/moviles/iconos/consulta.png,desarrollo.moviles.
ConsultaGlucosa 
 
En el archivo JAR correspondiente, el archivo de manifiesto aparecería como: 
 
META.INF/MANIFEST.mf. 
 
El archivo JAR también contendría los siguientes archivos: 
 
/desarrollo/moviles/RegistraGlucosa.class 
/desarrollo/moviles/ConsultaGlucosa.class 
/desarrollo/moviles/Utilidades.class 
/desarrollo/moviles/iconos/glucosa.png 
/desarrollo/moviles/iconos/registrapng 
/desarrollo/moviles/icones/consulta.png 
 
El archivo JAR contiene las clases correspodientes a ambos MIDlets; note que la clase de 
utilidades se incluye pero no hay ninguna referencia a ella en el archivo manifiesto. 
•El atributo MIDlet-Icon contiene la ruta absoluta del archivo que contiene el icono de la 
suite. 
•Asociado a cada MIDlet hay un atributo que describe su nombre y le asocia un identificador. 
El valor del atributo incluye nombre, icono y clase asociada. 
 
El archivo JAD asociado a este MIDlet contendrá la siguiente información: 
MIDlet-Name: Glucometro 
MIDlet-Vendor:Programas Maria 
MIDlet-Version: 1.2.0 
MIDlet-Description: Conjunto de midlets para registrar la glucosa y la presión arterial 
MIDlet-Info-URL: http://www.programasmaria.com/glucometro/info.html 
MIDlet-Data-Size: 516 
MicroEdition-Jar-Size: 10132 
MIDlet-Jar-URL: http://www.programasmaria.com/glucometro/Glucometro.jar 
 
Esta información se mostrará al usuario en la pantalla del dispositivo, así como la URL del 
archivo JAR. En este caso, los atributos comunes tienen el mismo valor tanto en el archivo 
de manifiesto como en el archivo JAD. Para que la suite sea portable, es preciso que el 
archivo JAR esté codificado usando la codificación ISO-8859-1 (es el estándar 
de carácteres predeterminado en HTML 4.01.), y se requiere que todas las 
implementaciones de MIDP soporten esta codificación. 
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 38 
 
En tiempo de ejecución, los MIDlets pueden acceder a los archivos del JAR asociado a la 
suite y obtener información sobre los valores de los atributos, por lo que la importancia de 
estos dos archivos radica en que deben estar en el dispositivo móvil para la ejecución de la 
aplicación. 
 
 
Cierre de la Unidad 
 
¿Qué te ha parecido la unidad? Interesante, ¿verdad?, ya que se ha expuesto cómo han 
ido evolucionando los dispositivos móviles a través del tiempo y así podemos entender el 
porqué de las características de los dispositivos actuales y visualizar cómo serán en un 
futuro cercano. Asimismo, conociste dos de las tecnologías mas populares del momento por 
su sencillez y portabilidad, J2ME y Android; por supuesto que fue menester conocer las 
respectivas estructuras de las aplicaciones para poder identificarlas y aplicarlas en futuras 
programaciones con el uso de las herramientas de desarrollo disponibles y de libre 
distribución como Eclipse, Netbeans y J2ME. 
 
Ahora bien, se resaltó la importancia del SDK en la programación de las aplicaciones, y 
teniendo éstas, ¿cómo las probamos?. Se explicó la importancia del uso de los emuladores 
para distintos dispositivos y probar si las aplicaciones son funcionales o no, para hacer las 
correcciones debidas antes de ponerlas a la venta, por ejemplo, o usarlas. Superada la 
etapa de las pruebas de la aplicación, se identificó en qué momento se crean los archivos 
JAR y JAD, considerando la importancia de ambos en la portabilidad de la aplicación a un 
dispositivo móvil. 
 
La unidad sienta un precedente para el desarrollo de las unidades subsecuentes, 
Aplicaciones J2ME y Aplicaciones en plataforma Android, respectivamente. 
 
 
Para saber más 
 
Si los temas desarrollados en la presente unidad te han generado curiosidad por saber más 
al respecto, se te comparten los siguientes recursos para ampliar tu conocimiento: 
 
• Investiga en internet la historia de los dispositivos móviles de diversas empresas de 
telefonía móvil. 
 
• La historia de Google, entre lo que se encuentra la aparición de Android en el 
mercado de los dispositivos móviles, puedes consultarla en el siguiente sitio: 
https://www.google.com/about/company/history/?hl=es 
 
https://www.google.com/about/company/history/?hl=es
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 39 
• Las variantes de la norma ISO-8859 
http://www.w3schools.com/charsets/ref_html_8859.asp 
 
• En el siguiente sitio podrás consultar una reseña histórica de la evolución de la 
programación de dispositivos móviles 
http://www.poderpda.com/editorial/programacion-para-dispositivos-moviles-una-
resena-historica/ 
 
• Investiga en internet diversos videos, donde es posible observar el emulador para 
aplicaciones y juegos java (Sun Java Wireless Toolkit 2.5.1 + JADMaker). 
 
 
Fuentes de consulta 
 
• Android (2014). La historia de Android. Disponible en https://www.android.com/what-
is-android/ 
 
• Barro Ameneiro, S., y Bugarín Diz, A.J. (2002). Fronteras de la computación. Madrid: 
Díaz de Santos. 
 
• Business Angels IAE (2014). Modelo de resumen ejecutivo ampliado. Buenos Aires, 
Argentina: Business School, Universidad Austral. 
 
• Gálvez, S, y Ortega L. (2003). Java a tope: J2ME (Java 2 Micro Edition). Malaga: 
Departamento de lenguajes y ciencias de la computación, Universidad de Malaga. 
 
• Gargenta, M. (2011). Learning Android. Estados Unidos: O’Reilly Media, Inc.California. 
 
• Google Empresa (2014). Nuestra historia en profundidad. Disponible en 
https://www.google.com/about/company/history/?hl=es 
 
• Li, S. y Knudsen, J. (2005). Beginning J2ME: From Novice to Professional. 3rd. Edition. 
Estados Unidos: Apress. 
 
• Mkyong (3 de noviembre 2011). Android Hello World Example. Disponible en 
http://www.mkyong.com/android/android-hello-world-example/ 
 
• Oracle. (2023a). Java SE Development Kit 8 Downloads. Disponible en 
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-
2133151.html 
 
http://www.w3schools.com/charsets/ref_html_8859.asp
http://www.poderpda.com/editorial/programacion-para-dispositivos-moviles-una-resena-historica/
http://www.poderpda.com/editorial/programacion-para-dispositivos-moviles-una-resena-historica/
https://www.android.com/what-is-android/
https://www.android.com/what-is-android/
https://www.google.com/about/company/history/?hl=es
http://it-ebooks.info/author/2028/
http://it-ebooks.info/author/2029/
http://www.mkyong.com/android/android-hello-world-example/
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Programación móvil 
Unidad 1. Tecnologías para mis aplicaciones móviles 
Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 40 
• Oracle (2023b). The History of Java Technology. Disponible en 
http://www.oracle.com/technetwork/java/javase/overview/javahistory-index-
198355.html 
 
• Paredes Velasco, M., Santacruz Valencia, L.P., Domínguez Mateos, F.(2012). 
Programación multimedia y dispositivos móviles. Guía didáctica del profesor. Madrid: 
RA-MA. 
 
• Poder PDA. (5 de septiembre 2014). Programación para dispositivos móviles: una 
reseña histórica. Disponible en https://www.pasionmovil.com/editorial/programacion-
para-dispositivos-moviles-una-resena-historica/ 
 
• RAE Real Academia Española (2014). Riesgo. [En línea] 
http://lema.rae.es/drae/?val=emular 
 
• Robledo Sacristán, C., y Robledo Fernández, D. (2011). Programación en Android. 
Madrid: Ministerio de cultura de España. 
 
• Sgoliver (28 de diciembre 2014). Estructura de un proyecto Android (Android Studio). 
Disponible en http://www.sgoliver.net/blog/estructura-de-un-proyecto-android-android-
studio/ 
 
• Sgoliver (9 de agosto 2010). Estructura de un proyecto Android (Eclipse). Disponible 
en http://www.sgoliver.net/blog/estructura-de-un-proyecto-android/ 
 
• Tardáguila, C. (2009). Dispositivos móviles y multimedia, Repositorio Institucional: 
Universitat Oberta de Catalunya (UOC). Recuperada en Febrero 8, 2015, del sitio Web 
tema: Portal de Recursos Educativos Abiertos (REA) en 
https://www.researchgate.net/publication/267546668_Dispositivos_Moviles_y_Multim
edia 
 
 
http://www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.html
http://www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.html
https://www.pasionmovil.com/editorial/programacion-para-dispositivos-moviles-una-resena-historica/
https://www.pasionmovil.com/editorial/programacion-para-dispositivos-moviles-una-resena-historica/
http://lema.rae.es/drae/?val=emular
http://www.sgoliver.net/blog/estructura-de-un-proyecto-android-android-studio/
http://www.sgoliver.net/blog/estructura-de-un-proyecto-android-android-studio/
http://www.sgoliver.net/blog/estructura-de-un-proyecto-android/https://www.researchgate.net/publication/267546668_Dispositivos_Moviles_y_Multimedia
https://www.researchgate.net/publication/267546668_Dispositivos_Moviles_y_Multimedia
	Unidad 1. Tecnologías para mis aplicaciones móviles
	Presentación de la Unidad
	Logros
	Competencia específica
	1.1. Evolución de los dispositivos móviles
	1.2. Tecnologías aplicadas a la programación móvil
	1.3. Estructura de una aplicación para tecnología móvil
	1.3.1. J2ME
	1.3.2. Android
	1.3.3. Midlets
	1. 4. Herramientas de desarrollo
	1.4.1. Plataformas: Eclipse, Netbeans, J2ME
	1.4.2. Emuladores
	1.4.3. Importancia y creación de archivos JAR y JAD
	Cierre de la Unidad
	Para saber más
	Fuentes de consulta

Continuar navegando