Introducción a Java 2 Platform, Micro Edition (J2ME) · general). Para ello os explicamos cómo...

27
Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.] Nuevo usuario Inicio : Descargas : Trucos VB.Net, PHP, Delphi : Manuales : Código Fuente Principal · Inicio · Buscar · Contactar · Descargas · Enciclopedia · Estadísticas · Eventos · Foros · Manuales, Artículos · Nuestra historia · Quiénes somos · Recomiéndanos · Temas · Top 10 · Trucos Delphi, PHP, Java, Visual Studio · Tu cuenta Descargas Términos enciclopedias Eventos Julio D L M M J V S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 188 Programación : Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Os explicamos en este artículo cómo desarrollar aplicaciones para móviles, PDAs (dispositivos electrónicos con capacidades reducidas en general). Para ello os explicamos cómo preparar un equipo con Windows 7 como sistema operativo, cómo instalar NetBeans 6.7.1 (entorno de desarrollo) y los componentes necesarios: NetBeans Mobility Pack y Sun Java Wireless Toolkit para desarrollar aplicaciones para móviles, PDAs, etc. Introducción a Java 2 Platform, Micro Edition (J2ME). Configuraciones. Perfiles. Máquinas Virtuales J2ME: KVM, CVM. MIDlets. Entorno de desarrollo NetBeans, instalación de los componentes necesarios para realizar aplicaciones Java para móviles. Instalación de JDK 6 Update 17. Instalación de NetBeans 6.7.1. Instalación de NetBeans Mobility Pack. Instalación de Sun Java Wireless Toolkit 2.5.2_01. Cómo realizar mi primera aplicación para teléfono móvil . Creación de un nuevo proyecto JavaME Mobile Application en NetBeans. Vistas del IDE NetBeans: Source, Screen y Flow. Vista Flow Design. Vista Screen Design. Vista Source. Compilar y probar la aplicación (MIDlet) en el emulador. Ficheros JAR y JAD. Código fuente (source code) en Java de la aplicación para móvil . Artículos relacionados. Créditos. Introducción a Java 2 Platform, Micro Edition (J2ME) Java 2 Platform, Micro Edition (J2ME) es un entorno de desarrollo robusto y flexible enfocado a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades computacionales y gráficas muy reducidas, tales como teléfonos móviles, PDAs (Personal Digital Assistants o asistentes personales digitales), electrodomésticos inteligentes, TV, impresoras, etc. Esta edición tiene unos componentes básicos que la diferencian de las otras versiones( Java 2 Platform, Enterprise Edition J2EE y Java 2 Platform, Standard Edition J2SE), como el uso de una máquina virtual denominada KVM (Kilo Virtual Machine, debido a que requiere sólo unos pocos Kilobytes de memoria para funcionar) en vez del uso de la JVM (Java Virtual Machine) clásica, inclusión de un pequeño y rápido recolector de basura. Las tecnologías J2ME contienen un JRE altamente optimizado, especialmente desarrollado para el mercado de gran consumo, abarcan una amplia gama de aparatos de tamaño muy reducido y permiten ejecutar programas de seguridad, conectividad y utilidades en tarjetas inteligentes, buscapersonas, sintonizadores de TV y otros pequeños electrodomésticos. Las tecnologías J2ME representan únicamente una parte de la gama de productos de software de Java. Las plataformas Java relacionadas son la Plataforma Java 2, Edición estándar (plataforma J2SE) y la Plataforma Java 2, Edición empresa (plataforma J2EE). La tecnología Java ofrece, asimismo, métodos de creación de servicios Web, transferencia de información XML, numerosos protocolos de red, kits de herramientas y la aplicación Java Web Start. Aunque sería ideal contar con la API completa de J2SE disponible en un dispositivo móvil, no es algo realista. Por ejemplo, un teléfono móvil con su pantalla limitada no puede soportar toda la funcionalidad disponible en la AWT, que es la principal interfaz gráfica de usuario (GUI) que da Java. J2ME se introdujo precisamente dirigido hacia todos esos dispositivos que caen fuera del ámbito de J2SE y J2EE. Las capacidades de este tipo de dispositivos pueden variar mucho de unos a otros. Una única plataforma de Java claramente no encajaría adecuadamente con todos estos dispositivos. Es por ello que J2ME introduce dos nuevos conceptos, las configuraciones y los perfiles. Configuraciones Una configuración define una plataforma Java para un amplio rango de dispositivos. Está directamente relacionada con una JVM. De hecho, una configuración específica define las características del lenguaje Java y las librerías de la JVM que serán utilizadas. La decisión acerca de qué configuración aplicar sobre un dispositivo se basa principalmente en la disponibilidad y capacidades de memoria, pantalla, conexión de red y procesador de dicho dispositivo. Las características típicas de aquellos dispositivos que se ajustan a cada una de las actuales conguraciones son: CDC: Connected Device Conguration, con las siguientes características mínimas: Enlaces Relacionados · Java en estado puro · Aplicación móvil Netbeans · MySQL con JSP, Tomcat y JDBC · Aplicación con Java y Eclipse · Letra DNI con Java · Más Acerca de Java · Noticias/artículos de ajpdsoft Noticia/artículo más leída sobre Java: Como crear una aplicación con Java y Eclipse Votos del Artículo Puntuación Promedio: 4.66 votos: 12 Por favor tómate un segundo y vota por este artículo: Opciones Enviar a un Amigo Últimas Descargas · AjpdSoft Acceso PostgreSQL con Lazarus x64 · Ejemplo acceso nativo a SQLite con ADO.Net en C# .Net · AjpdSoft Acceso MySQL Android · AjpdSoft Acceso SQLite C# ADO.NET · AjpdSoft Acceso MySQL con ADO.NET en C# · AjpdSoft Gestión Integral código fuente Delphi · AjpdSoft Indexar Texto Últimos · DATE_FORMAT(fecha, formato) Enc.: Funciones MySQL · SOAP Enc.: Informática · CSRF Enc.: Informática · SIG Enc.: Informática · Ruby Enc.: Informática · DATEDIFF (fecha1, fecha2) Enc.: Funciones MySQL · DaysBetween (fecha1, fecha2) Enc.: Funciones Delphi Proyecto AjpdSoft Me gustaMe gusta Me gustaMe gusta Te gusta esto.518

Transcript of Introducción a Java 2 Platform, Micro Edition (J2ME) · general). Para ello os explicamos cómo...

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Nuevo usuario Inicio : Descargas : Trucos VB.Net, PHP, Delphi : Manuales : Código Fuente

    Principal

    · Inicio· Buscar· Contactar· Descargas· Enciclopedia· Estadísticas· Eventos· Foros· Manuales, Artículos· Nuestra historia· Quiénes somos· Recomiéndanos· Temas· Top 10· Trucos Delphi, PHP,Java, Visual Studio· Tu cuenta

    Descargas

    Términos enciclopedias

    Eventos

    Julio

    D L M M J V S1 2 3 4 5 6

    7 8 9 10 11 12 13

    14 15 16 17 18 19 20

    21 22 23 24 25 26 27

    28 29 30 31

    188

    Programación: Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans

    Os explicamos en este artículo cómo desarrollar aplicaciones para móviles, PDAs (dispositivos electrónicos con capacidades reducidas engeneral). Para ello os explicamos cómo preparar un equipo con Windows 7 como sistema operativo, cómo instalar NetBeans 6.7.1 (entornode desarrollo) y los componentes necesarios: NetBeans Mobility Pack y Sun Java Wireless Toolkit para desarrollar aplicaciones para móviles,PDAs, etc.

    Introducción a Java 2 Platform, Micro Edition (J2ME).Configuraciones.Perfiles.Máquinas Virtuales J2ME: KVM, CVM.MIDlets.

    Entorno de desarrollo NetBeans, instalación de los componentes necesarios para realizar aplicaciones Java para móviles.Instalación de JDK 6 Update 17.Instalación de NetBeans 6.7.1.Instalación de NetBeans Mobility Pack.Instalación de Sun Java Wireless Toolkit 2.5.2_01.

    Cómo realizar mi primera aplicación para teléfono móvil.Creación de un nuevo proyecto JavaME Mobile Application en NetBeans.Vistas del IDE NetBeans: Source, Screen y Flow.

    Vista Flow Design.Vista Screen Design.Vista Source.

    Compilar y probar la aplicación (MIDlet) en el emulador.Ficheros JAR y JAD.Código fuente (source code) en Java de la aplicación para móvil.

    Artículos relacionados.Créditos.

    Introducción a Java 2 Platform, Micro Edition (J2ME)Java 2 Platform, Micro Edition (J2ME) es un entorno de desarrollo robusto y flexible enfocado a la aplicación de la tecnología Java endispositivos electrónicos con capacidades computacionales y gráficas muy reducidas, tales como teléfonos móviles, PDAs (Personal DigitalAssistants o asistentes personales digitales), electrodomésticos inteligentes, TV, impresoras, etc. Esta edición tiene unos componentesbásicos que la diferencian de las otras versiones( Java 2 Platform, Enterprise Edition J2EE y Java 2 Platform, Standard Edition J2SE), comoel uso de una máquina virtual denominada KVM (Kilo Virtual Machine, debido a que requiere sólo unos pocos Kilobytes de memoria parafuncionar) en vez del uso de la JVM (Java Virtual Machine) clásica, inclusión de un pequeño y rápido recolector de basura.

    Las tecnologías J2ME contienen un JRE altamente optimizado, especialmente desarrollado para el mercado de gran consumo, abarcan unaamplia gama de aparatos de tamaño muy reducido y permiten ejecutar programas de seguridad, conectividad y utilidades en tarjetasinteligentes, buscapersonas, sintonizadores de TV y otros pequeños electrodomésticos. Las tecnologías J2ME representan únicamente unaparte de la gama de productos de software de Java. Las plataformas Java relacionadas son la Plataforma Java 2, Edición estándar(plataforma J2SE) y la Plataforma Java 2, Edición empresa (plataforma J2EE). La tecnología Java ofrece, asimismo, métodos de creación deservicios Web, transferencia de información XML, numerosos protocolos de red, kits de herramientas y la aplicación Java Web Start.

    Aunque sería ideal contar con la API completa de J2SE disponible en un dispositivo móvil, no es algo realista. Por ejemplo, un teléfonomóvil con su pantalla limitada no puede soportar toda la funcionalidad disponible en la AWT, que es la principal interfaz gráfica de usuario(GUI) que da Java. J2ME se introdujo precisamente dirigido hacia todos esos dispositivos que caen fuera del ámbito de J2SE y J2EE. Lascapacidades de este tipo de dispositivos pueden variar mucho de unos a otros.

    Una única plataforma de Java claramente no encajaría adecuadamente con todos estos dispositivos. Es por ello que J2ME introduce dosnuevos conceptos, las configuraciones y los perfiles.

    Configuraciones

    Una configuración define una plataforma Java para un amplio rango de dispositivos. Está directamente relacionada con una JVM. De hecho,una configuración específica define las características del lenguaje Java y las librerías de la JVM que serán utilizadas.

    La decisión acerca de qué configuración aplicar sobre un dispositivo se basa principalmente en la disponibilidad y capacidades de memoria,pantalla, conexión de red y procesador de dicho dispositivo.

    Las características típicas de aquellos dispositivos que se ajustan a cada una de las actuales conguraciones son:

    CDC: Connected Device Conguration, con las siguientes características mínimas:

    Enlaces Relacionados

    · Java en estado puro· Aplicación móvilNetbeans· MySQL con JSP, Tomcaty JDBC· Aplicación con Java yEclipse· Letra DNI con Java· Más Acerca de Java· Noticias/artículos deajpdsoft

    Noticia/artículo másleída sobre Java:

    Como crear una aplicacióncon Java y Eclipse

    Votos del Artículo

    Puntuación Promedio:4.66

    votos: 12

    Por favor tómate unsegundo y vota por este

    artículo:

    Opciones

    Enviar a un Amigo

    Últimas Descargas· AjpdSoft AccesoPostgreSQL con Lazarusx64

    · Ejemplo acceso nativo aSQLite con ADO.Net en C#.Net

    · AjpdSoft Acceso MySQLAndroid

    · AjpdSoft Acceso SQLiteC# ADO.NET

    · AjpdSoft Acceso MySQLcon ADO.NET en C#

    · AjpdSoft Gestión Integralcódigo fuente Delphi

    · AjpdSoft Indexar Texto

    Últimos· DATE_FORMAT(fecha,

    formato) Enc.: Funciones MySQL

    · SOAP Enc.: Informática

    · CSRF Enc.: Informática

    · SIG Enc.: Informática

    · Ruby Enc.: Informática

    · DATEDIFF (fecha1, fecha2) Enc.: Funciones MySQL

    · DaysBetween (fecha1,fecha2)

    Enc.: Funciones Delphi

    Proyecto AjpdSoft

    Me gustaMe gusta

    Me gustaMe gustaTe gusta esto.518

    http://www.ajpdsoft.com/modules.php?name=News&new_topic=21http://www.ajpdsoft.com/http://www.ajpdsoft.com/modules.php?name=Your_Account&op=new_userhttp://www.ajpdsoft.com/http://www.ajpdsoft.com/modules.php?name=Downloadshttp://www.ajpdsoft.com/modules.php?name=Contenthttp://www.ajpdsoft.com/modules.php?name=Stories_Archive&sa=show_allhttp://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownload&cid=10http://www.ajpdsoft.com/http://www.ajpdsoft.com/modules.php?name=Searchhttp://www.ajpdsoft.com/modules.php?name=Contactarhttp://www.ajpdsoft.com/modules.php?name=Downloadshttp://www.ajpdsoft.com/modules.php?name=Encyclopediahttp://www.ajpdsoft.com/modules.php?name=Statisticshttp://www.ajpdsoft.com/modules.php?name=NuCalendarhttp://www.ajpdsoft.com/modules.php?name=Foroshttp://www.ajpdsoft.com/modules.php?name=Stories_Archivehttp://www.ajpdsoft.com/modules.php?name=Historiahttp://www.ajpdsoft.com/modules.php?name=Quienes_Somoshttp://www.ajpdsoft.com/modules.php?name=Recommend_Ushttp://www.ajpdsoft.com/modules.php?name=Topicshttp://www.ajpdsoft.com/modules.php?name=Tophttp://www.ajpdsoft.com/modules.php?name=Contenthttp://www.ajpdsoft.com/modules.php?name=Contenthttp://www.ajpdsoft.com/modules.php?name=Your_Accounthttp://www.ajpdsoft.com/modules.php?name=NuCalendar&op=ShowDay&day=2&month=07&year=2013http://www.ajpdsoft.com/modules.php?name=NuCalendar&op=ShowDay&day=6&month=07&year=2013http://www.ajpdsoft.com/modules.php?name=NuCalendar&op=ShowDay&day=18&month=07&year=2013http://www.ajpdsoft.com/modules.php?name=NuCalendar&op=ShowDay&day=21&month=07&year=2013http://www.ajpdsoft.com/modules.php?name=NuCalendar&op=ShowDay&day=23&month=07&year=2013http://www.ajpdsoft.com/modules.php?name=NuCalendar&op=ShowDay&day=24&month=07&year=2013http://www.ajpdsoft.com/modules.php?name=News&file=categories&op=newindex&catid=11http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=430http://www.ajpdsoft.com/modules.php?name=News&file=categories&op=newindex&catid=7http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=303http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=287http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=287http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=270http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=270http://www.ajpdsoft.com/modules.php?name=Content&pa=showpage&pid=244http://www.ajpdsoft.com/modules.php?name=Search&topic=21http://www.ajpdsoft.com/modules.php?name=Search&author=ajpdsofthttp://www.ajpdsoft.com/modules.php?name=Search&author=ajpdsofthttp://www.ajpdsoft.com/modules.php?name=News&file=article&sid=270http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=270http://www.ajpdsoft.com/modules.php?name=News&file=friend&op=FriendSend&sid=437http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=309http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=309http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=309http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=307http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=307http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=307http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=306http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=306http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=308http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=308http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=305http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=305http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=304http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=304http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=303http://www.ajpdsoft.com/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=303http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=1135http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=1135http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=list_content&eid=15http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=1134http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=list_content&eid=1http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=1133http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=list_content&eid=1http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=1132http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=list_content&eid=1http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=1131http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=list_content&eid=1http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=1130http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=list_content&eid=15http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=1129http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=1129http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=list_content&eid=12http://www.facebook.com/proyectoajpdsofthttp://www.facebook.com/proyectoajpdsoft

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Consejos

    Lenguajes

    Selecciona Idioma de laInterfaz:

    Spanish

    Webs recomendadas

    Orasite.com

    Coloca tu web aquí

    Language english

    English

    Un mínimo de 512 kilobytes de memoria para ejecutar Java.Un mínimo de 256 kilobytes de memoria para ejecución de programas.Conexión de red, posiblemente persistente y con gran ancho de banda.

    CLDC: Connected Limited Device Conguration, con los siguientes requisitos mínimos:128 kilobytes de memoria para ejecutar Java.32 kilobytes de memoria para ejecución de programas.Una GUI restringida.Típicamente con suministro eléctrico a través de baterías.Conexión de red, típicamente inalámbrica, con bajo ancho de banda y acceso intermitente.

    Perfiles

    Los perfiles son bibliotecas Java de clases específicas orientadas a implementar funcionalidades de más alto nivel para familias específicas dedispositivos.

    Un perfil es, si se quiere ver así, como una extensión de una configuración. Proporciona a un programador las librerías necesarias paradesarrollar una aplicación para un tipo de dispositivo en particular. Por ejemplo, MIDP define APIs para componentes de interfaz de usuario,manejo de entrada de datos y eventos, almacenamiento persistente, comunicaciones y temporizadores, todo ello teniendo en cuenta laslimitaciones de pantalla y memoria de los dispositivos móviles.

    El perfil es el que define las APIs que controlan el ciclo de vida de la aplicación, interfaz de usuario, etc. Más concretamente, un perfil es unconjunto de APIs orientado a un ámbito de aplicación determinado. Los perfiles identifican un grupo de dispositivos por la funcionalidad queproporcionan (electrodomésticos, teléfonos móviles, etc.) y el tipo de aplicaciones que se ejecutarán en ellos. Las librerías de la interfazgráfica son un componente muy importante en la definición de un perfil. Aquí nos podemos encontrar grandes diferencias entre interfaces,desde el menú textual de los teléfonos móviles hasta los táctiles de los PDAs.

    El perfil establece unas APIs que definen las características de un dispositivo, mientras que la configuración hace lo propio con una familiade ellos. Esto hace que a la hora de construir una aplicación se cuente tanto con las APIs del perfil como de la configuración. Tenemos quetener en cuenta que un perfil siempre se construye sobre una configuración determinada. De este modo, podemos pensar en un perfil comoun conjunto de APIs que dotan a una configuración de funcionalidad específica. Ya hemos visto los conceptos necesarios para entendercómo es un entorno de ejecución en Java Micro Edition.

    Anteriormente vimos que para una configuración determinada se usaba una Máquina Virtual Java específica. Teníamos que con laconfiguración CDC usábamos la CVM y que con la configuración CLDC usábamos la KVM. Con los perfiles ocurre lo mismo. Existen unosperfiles que construiremos sobre la configuración CDC y otros que construiremos sobre la CLDC. Para la configuración CDC tenemos lossiguientes perfiles:

    Foundation Profile: este perfil define una serie de APIs sobre la CDC orientadas a dispositivos que carecen de interfaz gráfica como,por ejemplo, decodificadores de televisión digital. Este perfil incluye gran parte de los paquetes de la J2SE, pero excluye totalmentelos paquetes “java.awt” Abstract Windows Toolkit (AWT) y “java.swing” que conforman la interfaz gráfica de usuario (GUI) de J2SE.Personal Profile: es un subconjunto de la plataforma J2SE v1.3, y proporciona un entorno con un completo soporte gráfico AWT. Elobjetivo es el de dotar a la configuración CDC de una interfaz gráfica completa, con capacidades web y soporte de applets Java.Este perfil requiere una implementación del Foundation Profile.RMI Profile: este perfil requiere una implementación del Foundation Profile, se construye encima de él. El perfil RMI soporta unsubconjunto delas APIs J2SE v1.3 RMI. Algunas características de estas APIs se han eliminado del perfil RMI debido a las limitaciones de cómputo ymemoria de los dispositivos.

    y para la configuración CLDC tenemos los siguientes:

    PDA Profile: está construido sobre CLDC. Pretende abarcar PDAs de gama baja, tipo Palm, con una pantalla y algún tipo de puntero(ratón olápiz) y una resolución de al menos 20000 pixels (al menos 200x100 pixels) con un factor 2:1.Mobile Information Device Profile (MIDP): este perfil está construido sobre la configuración CLDC. Al igual que CLDC fue la primeraconfiguración definida para J2ME, MIDP fue el primer perfil definido para esta plataforma. Este perfil está orientado para dispositivoscon las siguientes características:

    Reducida capacidad computacional y de memoria.Conectividad limitada (en torno a 9600 bps).Capacidad gráfica muy reducida (mínimo un display de 96x54 pixels monocromo).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 persistentes de aplicaciones.32 Kb de memoria volátil en tiempo de ejecución para la pila Java.

    Los tipos de dispositivos que se adaptan a estas características son: teléfonos móviles, buscapersonas (pagers) o PDAs degama baja con conectividad. El perfil MIDP establece las capacidades del dispositivo, por lo tanto, especifica las APIsrelacionadas con:

    La aplicación (semántica y control de la aplicación MIDP).Interfaz de usuario.Almacenamiento persistente.Trabajo en red.Temporizadores.

    Máquinas Virtuales J2ME: KVM, CVM

    Una máquina virtual de Java (JVM) es un programa encargado de interpretar código intermedio (bytecode) de los programas Javaprecompilados a código máquina ejecutable por la plataforma, efectuar las llamadas pertinentes al sistema operativo subyacente y observarlas reglas de seguridad y corrección de código definidas para el lenguaje Java. De esta forma, la JVM proporciona al programa Javaindependencia de la plataforma con respecto al hardware y al sistema operativo subyacente. Las implementaciones tradicionales de JVM son,en general, muy pesadas en cuanto amemoria ocupada y requerimientos computacionales. J2ME define varias JVMs de referencia adecuadas al ámbito de los dispositivoselectrónicos que, en algunos casos, suprimen algunas características con el fin de obtener una implementación menos exigente.

    Ya hemos visto que existen dos configuraciones CLDC y CDC, cada una con unas características propias. Como consecuencia, cada unarequiere su propia máquina virtual. La VM (Virtual Machine) de la configuración CLDC se denomina KVM y la de la configuración CDC sedenomina CVM. Las características principales de cada una de ellas:

    KVM: se corresponde con la Máquina Virtual más pequeña desarrollada por Sun. Su nombre KVM proviene de Kilobyte (haciendoreferencia a la baja ocupación de memoria, entre 40Kb y 80Kb). Se trata de una implementación de Máquina Virtual reducida yespecialmente orientada a dispositivos con bajas capacidades computacionales y de memoria. La KVM está escrita en lenguaje C,aproximadamente unas 24000 líneas de código, y fue diseñada para ser:

    Pequeña, con una carga de memoria entre los 40Kb y los 80 Kb, dependiendo de la plataforma y las opciones decompilación.Alta portabilidad.Modulable.Lo más completa y rápida posible y sin sacrificar características para las que fue diseñada.

    Sin embargo, esta baja ocupación de memoria hace que posea algunas limitaciones con respecto a la clásica Java VirtualMachine (JVM):no hay soporte para tipos en coma flotante (double, float), no existe soporte para JNI (Java Native Interface) debido a losrecursos limitados de memoria, no existen cargadores de clases (class loaders) definidos por el usuario, no se permiten losgrupos de hilos o hilos daemon, no existe la finalización de instancias de clases (método Object.finalize()), no hay

    http://www.orasite.com/http://www.ajpdsoft.com/modules.php?name=Contactarhttp://www.ajpdsoft.com/?traducir=es-enhttp://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    referencias débiles, limitada capacidad para el manejo de excepciones debido a que el manejo de éstas depende en granparte de las APIs de cada dispositivo por lo que son éstos los que controlan la mayoría de las excepciones, etc.

    La KVM puede ser compilada y probada en tres plataformas distintas:

    Solaris Operating Environment.Windows.PalmOs.

    CVM: Compact Virtual Machine ha sido tomada como Máquina Virtual Java de referencia para la configuración CDC y soporta lasmismas características que la Máquina Virtual de J2SE. Está orientada a dispositivos electrónicos con procesadores de 32 bits degama alta y en torno a 2Mb o más de memoria RAM. Las características que presenta esta Máquina Virtual son:

    Sistema de memoria avanzado.Tiempo de espera bajo para el recolector de basura.Separación completa de la VM del sistema de memoria.Recolector de basura modularizado.Portabilidad.Rápida sincronización.Ejecución de las clases Java fuera de la memoria de sólo lectura (ROM).Soporte nativo de hilos.Baja ocupación en memoria de las clases.Proporciona soporte e interfaces para servicios en Sistemas Operativos de Tiempo Real.Conversión de hilos Java a hilos nativos.Soporte para todas las características de Java2 v1.3 y librerías de seguridad, referencias débiles, Interfaz Nativa de Java(JNI), invocación remota de métodos (RMI), Interfaz de depuración de la Máquina Virtual (JVMDI).

    En resumen, un entorno de ejecución determinado de J2ME se compone de una selección de:

    Máquina virtual: JVM, KVM ó CVM.Configuración: CLDC ó CDC.Perfil: PDA, MIDP, RMI, etc.Paquetes Opcionales.

    MIDlets

    MIDlet es un programa desarrollado en lenguaje de programación Java para dispositivos embedidos, más específicamente para la máquinavirtual Java MicroEdition (Java ME). Generalmente son juegos y aplicaciones que corren en un teléfono móvil. Está desarrollada bajo laespecificación MIDP (Mobile Information Device Profile).

    El MIDlets suele ser un archivo JAR, formado por los siguientes elementos:

    Un archivo manifiesto que describe el contenido del archivo JAR.Las clases Java que forman el MIDlet.Los archivos de recursos usados por el MIDlet.

    Entorno de desarrollo NetBeans, instalación de los componentesnecesarios para realizar aplicaciones Java para móvilesEn la actualidad existen multitud de entornos de desarrollo o IDEs para diseñar e implementar aplicaciones para dispositivos móviles. Parahacerlo usando el lenguaje J2ME podremos encontrar entornos como Eclipse,, JBuilder, IntelliJ, NetBeans, etc.

    En nuestro caso utilizaremos NetBeans 6.5, se trata de un proyecto de código abierto (open source) de gran éxito, con una gran base deusuarios,una comunidad en constante crecimiento y con un gran número de socios en todo el mundo. Sun MicroSystems fundó el proyecto de códigoabierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de este proyecto.

    Instalación de JDK 6 Update 17

    Antes de instalar NetBeans necesitaremos instalar JDK 6, para ello abriremos un navegador web (como Mozilla Firefox), desde la URL:

    http://java.sun.com/javase/downloads/index.jsp

    Pulsaremos el botón "Download" en JDK 6 Update 17 (o la versión que queramos):

    En Platform elegiremos el sistema operativo, en nuestro caso "Windows" y pulsaremos "Download" (74MB de descarga):

    http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=770http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=711http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=768

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Mozilla Firefox nos mostrará una ventana con el nombre del fichero ad descargar (jdk-6u17-windows-i586.exe), pulsaremos en "Guardararchivo":

    Se iniciará la descarga:

    Accederemos a la carpeta de descargas del usuario de Windows 7, en nuestro caso "C:\Users\ajpdsoft\Downloads" y ejecutaremos el ficherodescargado (jdk-6u17-windows-i586.exe), haciendo doble clic sobre él:

    El UAC ó Control de cuentas de usuario de Windows 7 nos pedirá confirmación para ejecutar el fichero, pulsaremos "Sí":

    http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=711http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=430http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=430

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Leeremos los términos de licencia de Sun Microsystems, si estamos de acuerdo pulsaremos "Accept":

    El asistente de instalación de Java SE Development Kit 6 Update 17 nos permitirá elegir las opciones de instalación, dejaremos todasmarcadas y pulsaremos "Next" (si quisiéramos cambiar la carpeta de destino pulsaremos en "Change" y elegiremos una carpeta de destinodistinta la la de defecto):

    Antes de la instalación definitiva, en asistente nos vuelve a dar la opción de cambiar la carpeta de destino, si queremos dejar la de defectopulsaremos "Next":

    Tras la instalación el asistente nos mostrará una ventana indicando: Java(TM) SE Development Kit 6 Update 17 Successfully Installed",pulsaremos "Finish":

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Instalación de NetBeans 6.7.1

    Instalaremos el IDE de desarrollo NetBeans, versión 6.7.1, que será la herramienta principal a utilizar para el desarrollo de aplicaciones paradispositivos móviles, PDAs, etc. Para ello abriremos un navegador Web (como Mozilla Firefox), desde la URL:

    http://netbeans.org/downloads/indexC.html

    En el "Idioma del IDE" seleccionaremos "Español". En las distintas posibilidades (tecnologías) a elegir para la descarga: Java SE, JavaFX,Java Web y EE, Java ME, Ruby, C/C++, Groovy, etc. pulsaremos el botón "Download" de la columna "Java":

    Mozilla Firefox nos mostrará una ventana con el nombre del fichero ad descargar (netbeans-6.7.1-ml-java-windows.exe, de 251MB),pulsaremos en "Guardar archivo":

    Se iniciará la descarga del fichero de instalación de NetBeans 6.7.1:

    Tras la descarga, abriremos la carpeta de descargas del usuario y ejecutaremos el fichero netbeans-6.7.1-ml-java-windows.exe haciendodoble clic sobre él:

    http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=711http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=768http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=711

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    El UAC ó Control de cuentas de usuario de Windows 7 nos pedirá confirmación para ejecutar el fichero, pulsaremos "Sí":

    El Firewall (cortafuegos) de Windows 7 nos bloqueará el acceso del fichero java.exe a la red, pulsaremos en "Permitir acceso":

    Se iniciará el asistente de instalación de NetBeans IDE 6.7.1, si queremos personalizar la instalación, eligiendo los complementos a instalar,pulsaremos en "Personalizar":

    Desde la ventana de "Personalizar la instalación" marcaremos o desmarcaremos los posibles paquetes: Java SE, JavaScript Debugger, JavaWeb y EE, Java ME, Groovy, Características de la demanda, Sun GlassFish Enterprise Server. En nuestro caso dejaremos todas marcadas:

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=430http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=430

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Tras elegir las opciones de instalación pulsaremos en "Siguiente":

    Leeremos los términos de licencia de NETBEANS IDE 6.7.1, si estamos de acuerdo marcaremos la opción "Acepto los términos del acuerdode licencia" y pulsaremos "Siguiente":

    A continuación deberemos elegir la carpeta de instalación de NetBeans IDE y la carpeta donde instalamos JDK 6 Update 17 (si todo escorrecto la detectrará automáticamente, mediante la variable de entorno), pulsaremos "Siguiente" para continuar:

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Si hemos elegido instalar Sun GlassFish Enterprise Server (servidor de aplicaciones desarrollado por Sun Microsystems que implementa lastecnologías definidas en la plataforma Java EE y permite ejecutar aplicaciones que siguen esta especificación, es parecido a Apache Tomcat)deberemos indicar la carpeta donde se instalará, el JDK a utilizar, el nombre del usuario administrador ("admin" por defecto) de GlassFish, lacontraseña ("adminadmin" por defecto), el puerto HTTP (por defecto 8080) que utilizará este servidor de aplicaciones web, el puerto HTTPS(por defecto 8181) y el puerto de administración (por defecto 4848):

    También deberemos elegir la carpeta de instalación de Sun GlassFish Enterprise Server v3 Prelude:

    Antes de la instalación final de NetBeans, el asistente nos mostrará un resumen de las opciones elegidas y el espacio que necesitará endisco, en nuestro caso 720MB, pulsaremos "Instalar":

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    El Firewall (cortafuegos) de Windows 7 nos bloqueará el acceso del fichero java.exe a la red, pulsaremos en "Permitir acceso":

    Tras la instalación de NetBeans podremos ayudar al proyecto NetBeans marcando la opción "Apoye al proyecto NetBeans proporcionandodatos de uso anónimamente", también podremos registrarnos (gratuitamente) marcando "Registre NetBeans IDE y Sun GlassFish EnterpriseServer después de finalizar la instalación". Pulsaremos "Terminar":

    Con esto habremos instalado NetBeans IDE 6.7.1 en nuestro equipo con Windows 7. Para ejecutarlo haremos doble clic en el acceso directodel escritorio "NetBeans IDE 6.7.1":

    El IDE de NetBeans 6.7.1 en funcionamiento:

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=430http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=430

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Instalación de NetBeans Mobility Pack

    En realidad, para la versión NetBeans IDE 6.7.1 no es necesario instalar NetBeans Mobility Pack pues ya va incorporado. Si utilizamos otraversión anterior de NetBeans seguiríamos los siguientes pasos para instalar NetBeans Mobility Pack:

    abriremos un navegador Web (como Mozilla Firefox), desde la URL:

    http://www.netbeans.info/downloads/all.php?b_id=2368

    Pulsaremos en la línea de "Windows" para iniciar la descarga:

    Se iniciará la descarga del fichero de instalación de NetBeans Mobility Pack (netbeans-mobility-5_5-windows.exe (de 25MB), pulsaremos en"Guardar archivo":

    Abriremos la carpeta de descargas del usuario, en nuestro caso "C:\Users\ajpdsoft\Downloads" y haremos doble clic sobre el ficheronetbeans-mobility-5_5-windows.exe para iniciar la instalación:

    http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=711http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=768

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    El UAC ó Control de cuentas de usuario de Windows 7 nos pedirá confirmación para ejecutar el fichero, pulsaremos "Sí":

    Se abrirá el asistente de instalación de NetBeans Mobility Pack 5.5 (en nuestro caso), pulsaremos "Next":

    Leeremos los términos de licencia, si estamos de acuerdo marcaremos "I accept the terms in the license agreement" y pulsaremos "Next":

    Indicaremos la carpeta de instalación de NetBeans pulsando en "Browse":

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=430

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    La seleccionaremos en la ventana de "Select a directory":

    Y pulsaremos "Next" para instalar NetBeans Mobility Pack. Volvemos a repetir que para el caso de la versión 6.7.1 de NetBeans estecomponente ya está instalado.

    Instalación de Sun Java Wireless Toolkit 2.5.2_01

    Para instalar Sun Java Wireless Toolkit abriremos un navegador web (como Mozilla Firefox) y accederemos a la URL:

    http://java.sun.com/products/sjwtoolkit/download.html?feed=JSC

    Pulsaremos en el botón "Download". A continuación elegiremos en "Platform" el sistema operativo "Windows", marcaremos "I agree..." ypulsaremos en "Continue". Marcaremos "Sun Java Wireless Toolkit 2.5.2_01 for CLDC" y pulsaremos en "sun_java_wireless_toolkit-2.5.2_01-win.exe". Se iniciará la descarga del fichero sun_java_wireless_toolkit-2.5.2_01-win.exe (de 38MB) y, como en los casos anteriores,abriremos la carpeta de descargas y haremos doble clic sobre este fichero.

    Se abrirá el asistente de instalación, pulsaremos "Next":

    http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=711http://www.ajpdsoft.com/modules.php?name=Encyclopedia&op=content&tid=768

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Leeremos los términos de licencia, si estamos de acuerdo pulsaremos "Accept":

    Seleccionaremos la carpta del JDK que deseemos que utilizar para Sun Java Wireless Toolkit, en nuestro caso el instalado anteriormente. Siqueremos utilizar otro pulsaremos "Browse":

    Indicaremos la carpeta de instalación de Sun Java Wireless Toolkit, por defecto C:\WTK2.5.2_01, es recomendable que no lleve espacios enel nombre de la carpeta de destino:

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Pulsaremos "Next" para continuar:

    Si queremos que se compruebe si hay actualizaciones automáticas de Sun Java Wireless Toolkit marcaremos "Check for Product Updates",pulsaremos "Next":

    Comprobaremos las opciones elegidas, si son correctas pulsaremos "Next" para iniciar la instalación definitiva de Sun Java Wireless Toolkit:

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Tras la instación pulsaremos "Finish":

    A continuación agregaremos este plugin o complemento a NetBeans para poder utilizarlo en las aplicaciones que desarrollemos. Para elloabriremos NetBeans IDE haciendo doble clic sobre el acceso directo del escritorio "NetBeans IDE 6.7.1" de nuestro equipo con Windows 7.Una vez abierto pulsaremos en el menú "Herramientas" - "Plataformas Java...", en la ventana de "Administrador de Java Platform"pulsaremos en "Añadir plataforma...":

    Seleccionaremos Java ME MIDP Platform Emulator y pulsaremos "Siguiente":

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=430

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Si la instalación de Sun Java Wireless Toolkit ha sido correcta nos detectará la carpeta donde la instalamos, pulsaremos "Siguiente":

    El Firewall de Windows 7 nos detectará y bloqueará un acceso del fichero emulator.exe a la red, pulsaremos en "Permitir acceso":

    Si la plataforma es correcta, el asistente para añadir plataformas Java nos mostrará los datos de Sun Java(TM) Wireless Toolkit 2.5.2_01 forCLDC:

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    En Platform Details mostrará los detalles de la plataforma a instalar:

    Devices: DefaultColorPhone, DefaultGrayPhone, MediaControlSkin, QwertyDevice Profiles: MIDP-1.0, MIDP-2.0, MIDP-2.1 Configurations: CLDC-1.0, CLDC-1.1 Optional APIs: J2ME-WS-1.0, J2ME-XMLRPC-1.0, JSR172-1.0, JSR177-1.0, JSR179-1.0.1, JSR180-1.0.1, JSR184-1.1,JSR211-1.0, JSR226-1.0, JSR229-1.1.0, JSR234-1.0, JSR238-1.0, JSR239-1.0, JSR75-1.0, JSR82-1.1, MMAPI-1.1, OBEX-1.0,SATSA-APDU-1.0, SATSA-CRYPTO-1.0, SATSA-JCRMI-1.0, SATSA-PKI-1.0, WMA-1.1, WMA-2.0

    Pulsaremos en "Terminar" en la ventana anterior para finalizar de agregar a NetBeans la plataforma Sun Java(TM) Wireless Toolkit 2.5.2_01for CLDC.

    Y quedará instalado en la plataforma J2ME:

    Cómo realizar mi primera aplicación para teléfono móvilCreación de un nuevo proyecto JavaME Mobile Application en NetBeans

    Abriremos NetBeans IDE haciendo doble clic sobre el acceso directo del escritorio "NetBeans IDE 6.7.1" de nuestro equipo con Windows 7.Una vez abierto pulsaremos en el menú "Achivo" - "Proyecto Nuevo...":

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=430

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    En "Categorías" elegiremos "Java ME", en "Proyectos" seleccionaremos "Mobile Application":

    Introduciremos los siguientes datos:

    Project name: nombre que tendrá el proyecto, en nuestro caso "AjpdSoft Hola mundo J2ME".Project Location: carpeta donde se guardarán los proyectos.Project Folder: carpeta donde se guardarán los ficheros del proyecto.Set as main Project: si marcamos esta opción el MIDlet que creemos será el proyecto principal en el entorno NetBeans.Create hello MIDlet: si marcamos esta opción se creará un MIDlet de ejemplo con el típico mensaje "Hola mundo".

    En la siguiente ventana podremos elegir los siguientes parámetros:

    Emulator Platform: seleccionaremos Sun Java(TM) Wireless Toolkit 2.5.2_01 for CLDC.Device: tipo de dispositivo para el emulador, en nuestro caso "DefaultColorPhone".Device configuration: tipo de configuración, en nuestro caso CLDC-1.1.Device Profile: tipo de pefil, en nuestro caso MIDP-2.1.

    Introduciremos los datos anteriores y pulsaremos "Siguiente":

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Si necesitamos más perfiles de configuración podremos marcarlos en la siguiente ventana. Pulsaremos "Terminar" para iniciar el desarrollodel proyecto:

    Puesto que hemos marcado "Create hello MIDlet" NetBeans creará un formulario con las acciones necesarias para mostrar un mesaje en lapantalla de nuestro móvil "Hello world":

    Vistas del IDE NetBeans: Source, Screen y Flow

    Vista Flow Design

    Esta vista es la primera que aparece cuando inicialmente creamos un MIDlet. Esta vista resulta muy interesante ya que nos indica cuál es elflujo de ventanas de nuestra aplicación, es decir, qué ventana lleva a qué otra ventana y a través de qué botón o comando. También nospermite editar fácilmente dicho flujo simplemente arrastrando y soltando elementos sobre el panel principal. De esta forma un desarrolladorpuede ir tomando cada uno de los tipos de ventana que se muestran en la Paleta de la derecha, dentro del grupo Screens (es decir, Alert,List, Splash-Screen, Form, TextBox o bien WaitScreen), ir colocándolos en el panel principal e ir definiendo cómo llegar de una ventana aotra simplemente conectándolas entre sí. Además, a cada ventana se le puede añadir cualquiera de los demás elementos que se muestranen la Paleta (Commands, Form Items, Elements, etc.) simplemente arrastrando dicho elemento sobre la ventana en la que queramosañadirlo. Por último, decir que cuando se selecciona cualquier elemento en el panel principal, también es posible modificar sus propiedades

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    o atributos mediante el panel de Propiedades que se encuentra debajo de la Paleta, abajo a la derecha, lo cual resulta extremadamente útilal programador:

    Vista Screen Design

    Esta vista también resulta extremadamente útil al programador ya que a través de la misma es posible realizar el diseño de cada una de lasventanas de las que consta nuestro MIDlet. De esta forma el desarrollador podrá ver el aspecto final que aproximadamente tendrá suaplicación. Para cambiar la ventana que queremos diseñar basta con seleccionarla en la lista desplegable llamada Edited Screen que seencuentra encima del panel principal a la derecha. En nuestro ejemplo de "Hola mundo" sólo podemos diseñar inicialmente una ventanallamada helloForm.

    En esta vista también disponemos de la Paleta de componentes, y el diseño de las ventanas es tan sencillo como arrastrar los elementosdesde ésta hasta el panel principal, igual que ocurra en la vista Flow Design. Y del mismo modo que en la vista Flow Design era posibleeditar las propiedades o atributos de los elementos seleccionados desde el panel de Propiedades, aquí eso también es posible de la mismaforma. En la sección anterior no se comentó el panel Inspector mediante el cual podemos ver todos los elementos (ventanas, comandos,Items, etc.) que conforman nuestro MIDlet en forma de árbol jerárquico. A través de él también se pueden realizar todas las accionescomentadas anteriormente para esta vista. Merece la pena resaltar la gran utilidad que esta vista ofrece al desarrollador de aplicacionesJ2ME. Hasta tal punto es interesante que será posible desarrollar aplicaciones sencillas sin necesidad de ver ni escribir ni una sola línea decódigo:

    Vista Source

    La vista Source permite ver y modificar el código fuente Java de nuestra aplicación:

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Compilar y ejecutar la aplicación (MIDlet) en el emulador de NetBeans

    Para compilar el MIDlet pulsaremos en el menú "Ejecutar" - "Limpiar y generar Main Project" o la pulsación de las teclas Mayúsculas + F12.Nos mostrará el resultado de la operación en la parte inferior del IDE de desarrollo:

    Si todo es correcto mostrará, al final, algo así: "GENERACIÓN CORRECTA (total time: 2 seconds)". Una vez compilado correctamenteNetBeans habrá generado los ficheros .jar y .jad correspondientes. Con estos dos ficheros la aplicación ya se podría ejecutar en un teléfonomóvil. Estos ficheros se encuentran en la carpeta "dist", dentro de la carpeta del proyecto:

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    En nuestro caso: AjpdSoft_Hola_mundo_J2ME.jad y AjpdSoft_Hola_mundo_J2ME.jar.

    Como decimos, si transferimos estos dos ficheros a un teléfono móvil y ejecutamos el AjpdSoft_Hola_mundo_J2ME.jar, elmóvil nos pedirá si deseamos instalarlo, lo instalaremos y ya funcionará nuestra primera aplicación para móvil.

    Para ejecutarlo y probarlo en el equipo (en el emulador de NetBeans) pulsaremos en el menú "Ejecutar" - "Ejecutar Main Project":

    Si todo es correcto se ejecutará el emulador de teléfomo móvil, como si de un móvil se tratase, aparecerá seleccionado nuestro MIDlet,pulsaremos en el botón central del teléfono para ejecutarlo:

    Y podremos ver en nuestro equipo cómo funcionaría la aplicación (MIDlet) en el móvil:

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Ficheros JAR y JAD

    Un fichero JAR (Java Archive) es el encargado de encapsular todas las clases y recursos (imágenes, sonidos, datos, etc.) que conformenuno o más MIDlets.Un archivo JAR es un tipo de archivo que permite ejecutar aplicaciones escritas en lenguaje Java. Los archivos JAR estáncomprimidos con el formato de archivo ZIP. Además de las clases y los recursos, un fichero JAR incluye otro archivo conocido comomanifiesto (con nombre manifest.mf). Dicho archivo contiene información sobre el contenido del fichero JAR, los atributos de este archivoson:

    Atributo Descripción Requerido

    MIDlet-Name Nombre de la MIDlet suite Sí

    MIDlet-Version Versión de la MIDlet suite Sí

    MIDlet-Vendor Desarrollador del MIDlet Sí

    MIDlet-n Contiene una lista con el nombre de la MIDlet suite, iconoy nombre del MIDlet en la suite

    Microedition-Configuration Configuración necesitada para ejecutar el MIDlet Sí

    Microedition-Profile Perfil necesitado para ejecutar el MIDlet Sí

    MIDlet-Description Descripción de la MIDlet suite No

    MIDlet-Icon Nombre del archivo png incluido en el JAR No

    MIDlet-Info-URL URL con información sobre el MIDlet No

    MIDlet-Data-Size Número de bytes requeridos por el MIDlet No

    El fichero JAD (Java Application Descriptor) es opcional y sirve para proporcionar información adicional acerca del juego de MIDletscontenido en un fichero JAR. Los atributos del archivo JAD son los siguientes:

    Atributo Descripción Requerido

    MIDlet-Name Nombre de la MIDlet suite Sí

    MIDlet-Vendor Nombre del desarrollador Sí

    MIDlet-Version Versión del MIDlet Sí

    MIDlet-Configuration Configuración necesitada para ejecutar el MIDlet Sí

    MIDlet-Profile Perfil Perfil necesitado para ejecutar el MIDlet Sí

    MIDlet-Jar-URL URL del archivo JAR de la MIDlet suite Sí

    MIDlet-Jar-Size Tamaño en bytes del archivo JAR Sí

    MIDlet-Data-Size Mínimo número de bytes de almacenamientopersistente usado por el MIDlet

    No

    MIDlet-Delete-Confirm Confirmación a la hora de eliminar el MIDlet No

    MIDlet-Description Descripción de la MIDlet suite No

    MIDlet-Icon Archivo .png incluido en el JAR No

    MIDlet-Info-URL URL con información de la MIDlet suite No

    MIDlet-Install-Notify Indica que el AMS notifique al usuario de lainstalación del nuevo MIDlet

    No

    Código fuente (source code) en Java de la aplicación para móvil

    El código Java de la aplicación para teléfonos móviles AjpdSoft Hola mundo J2ME es el siguiente (todo generado automáticamente por elasistente de nuevo proyecto):

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    /* * To change this template, choose Tools | Templates * and open the template in the editor. */

    package hello;

    import javax.microedition.midlet.*;import javax.microedition.lcdui.*;

    /** * @author ajpdsoft */public class HelloMIDlet extends MIDlet implements CommandListener {

    private boolean midletPaused = false;

    //

    private Command exitCommand; private Form form; private StringItem stringItem; //

    /** * The HelloMIDlet constructor. */ public HelloMIDlet() { }

    //

    //

    //

    /** * Initilizes the application. * It is called only once when the MIDlet is * started. The method is called before the startMIDlet method. */ private void initialize() { // write pre-initialize user code here // write post-initialize user code here } //

    //

    /** * Performs an action assigned to the * Mobile Device - MIDlet Started point. */ public void startMIDlet() { // write pre-action user code here switchDisplayable(null, getForm()); // write post-action user code here } //

    //

    /** * Performs an action assigned to the * Mobile Device - MIDlet Resumed point. */ public void resumeMIDlet() { // write pre-action user code here // write post-action user code here } //

    //

    /** * Switches a current displayable in a display. * The display instance is taken from getDisplay * method. This method is used by all actions * in the design for switching displayable. * @param alert the Alert which is temporarily * set to the display; if null, * then nextDisplayable is set immediately * @param nextDisplayable the Displayable to be set */ public void switchDisplayable(Alert alert, Displayable nextDisplayable) { // write pre-switch user code here Display display = getDisplay(); if (alert == null) { display.setCurrent(nextDisplayable); } else { display.setCurrent(alert, nextDisplayable); } // write post-switch user code here } //

    //

    /** * Called by a system to indicated that a command * has been invoked on a particular displayable. * @param command the Command that was invoked * @param displayable the Displayable where the command was invoked */ public void commandAction(Command command, Displayable displayable) { // write pre-action user code here if (displayable == form) { if (command == exitCommand) { // write pre-action user code here exitMIDlet();

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    // write post-action user code here } } // write post-action user code here } //

    //

    /** * Returns an initiliazed instance of exitCommand component. * @return the initialized component instance */ public Command getExitCommand() { if (exitCommand == null) { // write pre-init user code here exitCommand = new Command("Exit", Command.EXIT, 0); // write post-init user code here } return exitCommand; } //

    //

    /** * Returns an initiliazed instance of form component. * @return the initialized component instance */ public Form getForm() { if (form == null) { // write pre-init user code here form = new Form("Welcome", new Item[] { getStringItem() }); form.addCommand(getExitCommand()); form.setCommandListener(this); // write post-init user code here } return form; } //

    //

    /** * Returns an initiliazed instance of stringItem component. * @return the initialized component instance */ public StringItem getStringItem() { if (stringItem == null) { // write pre-init user code here stringItem = new StringItem("AjpdSoft - Primer programa m\u00F3vil", "AjpdSoft Hola mundo"); // write post-init user code here } return stringItem; } //

    /** * Returns a display instance. * @return the display instance. */ public Display getDisplay () { return Display.getDisplay(this); }

    /** * Exits MIDlet. */ public void exitMIDlet() { switchDisplayable (null, null); destroyApp(true); notifyDestroyed(); }

    /** * Called when MIDlet is started. * Checks whether the MIDlet have been already * started and initialize/starts or resumes the MIDlet. */ public void startApp() { if (midletPaused) { resumeMIDlet (); } else { initialize (); startMIDlet (); } midletPaused = false; }

    /** * Called when MIDlet is paused. */ public void pauseApp() { midletPaused = true; }

    /** * Called to signal the MIDlet to terminate. * @param unconditional if true, then the MIDlet has * to be unconditionally terminated and all * resources has to be released. */ public void destroyApp(boolean unconditional) { }

    }

    Artículos relacionadosJava en estado puro, mi primera aplicación Java.Cómo acceder a MySQL con JSP, Tomcat y JDBC.Instalación y configuración de Eclipse SQL Explorer en Eclipse (Java).Instalar y trabajar con la clase Visual Editor de Eclipse (Java).Como crear una aplicación con Java y Eclipse.

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=303http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=287http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=275http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=271http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=270

  • Mi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=437[22/07/2013 01:36:29 p.m.]

    Artículos del Proyecto AjpdSoft sobre el lenguaje de programación Java.Ejercicios resueltos en el lenguje de programación C.Artículos del Proyecto AjpdSoft sobre sistemas operativos (Windows, GNU Linux, etc.).Artículos del Proyecto AjpdSoft sobre los sistemas operativos Microsoft Windows.Artículos del Proyecto AjpdSoft sobre programación.Artículos del Proyecto AjpdSoft sobre Delphi (lenguaje de programación).Artículos del Proyecto AjpdSoft sobre Visual Basic (lenguaje de programación).

    Créditos

    Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

    Enviado el Monday, 16 November a las 13:51:56 por ajpdsoft

    Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz

    Anuncios Google ► Descargar Java ► Java Mobile ► Java IDE ► Download Java JDK

    http://www.ajpdsoft.com/modules.php?name=News&new_topic=21http://www.ajpdsoft.com/modules.php?name=Content&pa=list_pages_categories&cid=12http://www.ajpdsoft.com/modules.php?name=News&file=categories&op=newindex&catid=7http://www.ajpdsoft.com/modules.php?name=News&new_topic=8http://www.ajpdsoft.com/modules.php?name=News&file=categories&op=newindex&catid=11http://www.ajpdsoft.com/modules.php?name=News&new_topic=3http://www.ajpdsoft.com/modules.php?name=News&new_topic=4http://www.ajpdsoft.com/modules.php?name=Foros&file=profile&mode=viewprofile&u=63http://www.ajpdsoft.com/modules.php?name=Quienes_Somoshttp://www.ajpdsoft.com/http://www.ajpdsoft.com/modules.php?name=Downloadshttps://plus.google.com/105224752118155793261?rel=authorhttps://www.google.com/adsense/support/bin/request.py?contact=abg_afc&url=http://www.ajpdsoft.com/modules.php%3Fname%3DNews%26file%3Darticle%26sid%3D437&hl=es&client=ca-pub-9017794352345256&rad0=Descargar+Java&rad1=Java+Mobile&rad2=Java+IDE&rad3=Download+Java+JDKhttp://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-9017794352345256&output=html&h=15&slotname=0223924550&w=728&lmt=1374517982&flash=11.7.700.224&url=http%3A%2F%2Fwww.ajpdsoft.com%2Fmodules.php%3Fname%3DNews%26file%3Darticle%26sid%3D437&dt=1374517981831&bpp=3&bdt=1160&shv=r20130716&cbv=r20130206&saldr=sa&prev_slotnames=7317874694%2C4001641500%2C8991945324&correlator=1374517981526&frm=20&adk=2709609305&ga_vid=1733190200.1374517981&ga_sid=1374517981&ga_hid=841159660&ga_fc=1&u_tz=-300&u_his=25&u_java=1&u_h=768&u_w=1366&u_ah=728&u_aw=1366&u_cd=24&u_nplug=0&u_nmime=0&dff=times%20new%20roman&dfs=10&adx=190&ady=31376&biw=1349&bih=596&oid=3&fu=0&ifi=4&dtd=811&xpc=wDsI393cYh&p=http%3A//www.ajpdsoft.com&rl_rc=true&adsense_enabled=true&ad_type=text&oe=utf8&height=15&width=728&format=fp_al_lp&kw_type=radlink&prev_fmts=728x15_0ads_al&rt=ChBR7XreAA6d7AqE7w2KABpaEg5EZXNjYXJnYXIgSmF2YRoICEP9JDUak34g37XPICgBSN-1zyBI9KSaxgJSEwi1oejA3sO4AhUNzYQKHeVnANU&hl=es&kw0=Descargar+Java&kw1=Java+Mobile&kw2=Java+IDE&kw3=Download+Java+JDK&okw=Descargar+Javahttp://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-9017794352345256&output=html&h=15&slotname=0223924550&w=728&lmt=1374517982&flash=11.7.700.224&url=http%3A%2F%2Fwww.ajpdsoft.com%2Fmodules.php%3Fname%3DNews%26file%3Darticle%26sid%3D437&dt=1374517981831&bpp=3&bdt=1160&shv=r20130716&cbv=r20130206&saldr=sa&prev_slotnames=7317874694%2C4001641500%2C8991945324&correlator=1374517981526&frm=20&adk=2709609305&ga_vid=1733190200.1374517981&ga_sid=1374517981&ga_hid=841159660&ga_fc=1&u_tz=-300&u_his=25&u_java=1&u_h=768&u_w=1366&u_ah=728&u_aw=1366&u_cd=24&u_nplug=0&u_nmime=0&dff=times%20new%20roman&dfs=10&adx=190&ady=31376&biw=1349&bih=596&oid=3&fu=0&ifi=4&dtd=811&xpc=wDsI393cYh&p=http%3A//www.ajpdsoft.com&rl_rc=true&adsense_enabled=true&ad_type=text&oe=utf8&height=15&width=728&format=fp_al_lp&kw_type=radlink&prev_fmts=728x15_0ads_al&rt=ChBR7XreAA6d-wqE7w2KABpaEgtKYXZhIE1vYmlsZRoIpi_8I0V64Igg37XPICgBSN-1zyBI9KSaxgJSEwi1oejA3sO4AhUNzYQKHeVnANU&hl=es&kw0=Descargar+Java&kw1=Java+Mobile&kw2=Java+IDE&kw3=Download+Java+JDK&okw=Java+Mobilehttp://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-9017794352345256&output=html&h=15&slotname=0223924550&w=728&lmt=1374517982&flash=11.7.700.224&url=http%3A%2F%2Fwww.ajpdsoft.com%2Fmodules.php%3Fname%3DNews%26file%3Darticle%26sid%3D437&dt=1374517981831&bpp=3&bdt=1160&shv=r20130716&cbv=r20130206&saldr=sa&prev_slotnames=7317874694%2C4001641500%2C8991945324&correlator=1374517981526&frm=20&adk=2709609305&ga_vid=1733190200.1374517981&ga_sid=1374517981&ga_hid=841159660&ga_fc=1&u_tz=-300&u_his=25&u_java=1&u_h=768&u_w=1366&u_ah=728&u_aw=1366&u_cd=24&u_nplug=0&u_nmime=0&dff=times%20new%20roman&dfs=10&adx=190&ady=31376&biw=1349&bih=596&oid=3&fu=0&ifi=4&dtd=811&xpc=wDsI393cYh&p=http%3A//www.ajpdsoft.com&rl_rc=true&adsense_enabled=true&ad_type=text&oe=utf8&height=15&width=728&format=fp_al_lp&kw_type=radlink&prev_fmts=728x15_0ads_al&rt=ChBR7XreAA6d_QqE7w2KABpaEghKYXZhIElERRoI6cJT_p9nLrAg37XPICgBSN-1zyBI9KSaxgJSEwi1oejA3sO4AhUNzYQKHeVnANU&hl=es&kw0=Descargar+Java&kw1=Java+Mobile&kw2=Java+IDE&kw3=Download+Java+JDK&okw=Java+IDEhttp://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-9017794352345256&output=html&h=15&slotname=0223924550&w=728&lmt=1374517982&flash=11.7.700.224&url=http%3A%2F%2Fwww.ajpdsoft.com%2Fmodules.php%3Fname%3DNews%26file%3Darticle%26sid%3D437&dt=1374517981831&bpp=3&bdt=1160&shv=r20130716&cbv=r20130206&saldr=sa&prev_slotnames=7317874694%2C4001641500%2C8991945324&correlator=1374517981526&frm=20&adk=2709609305&ga_vid=1733190200.1374517981&ga_sid=1374517981&ga_hid=841159660&ga_fc=1&u_tz=-300&u_his=25&u_java=1&u_h=768&u_w=1366&u_ah=728&u_aw=1366&u_cd=24&u_nplug=0&u_nmime=0&dff=times%20new%20roman&dfs=10&adx=190&ady=31376&biw=1349&bih=596&oid=3&fu=0&ifi=4&dtd=811&xpc=wDsI393cYh&p=http%3A//www.ajpdsoft.com&rl_rc=true&adsense_enabled=true&ad_type=text&oe=utf8&height=15&width=728&format=fp_al_lp&kw_type=radlink&prev_fmts=728x15_0ads_al&rt=ChBR7XreAA6eAAqE7w2KABpaEhFEb3dubG9hZCBKYXZhIEpESxoIx0j69-hjGysg37XPICgBSN-1zyBI9KSaxgJSEwi1oejA3sO4AhUNzYQKHeVnANU&hl=es&kw0=Descargar+Java&kw1=Java+Mobile&kw2=Java+IDE&kw3=Download+Java+JDK&okw=Download+Java+JDK

    ajpdsoft.comMi primera aplicación para teléfono móvil basada en Java (J2ME) con NetBeans Proyecto AjpdSoft

    ZpbGU9YXJ0aWNsZSZzaWQ9NDM3AA==: form2: score: 0input0:

    VudD9BY3JvYmF0V2ViQ2FwVElENgA=: form0: button0: button0_(1):

    ZpbGU9YXJ0aWNsZSZzaWQ9NDM3AA==: form1: newlanguage: [index.php?newlang=spanish]