UNIDAD V

UNIDAD V.- DESARROLLO DE APLICACIONES PARA TELÉFONOS CELULARES

5.1.- FUNDAMENTOS DEL SISTEMA OPERATIO


Los teléfonos móviles también tienen sus propios sistemas operativos, aunque son menos famosos que los de PC. Sin embargo, así como el mercado de los sistemas operativos para PC está dominado por Windows, en el caso de los móviles hay más competencia. La mayor parte del pastel se lo reparten entre tres sistemas: Windows, Symbian y Linux.


symbian

Symbian es el sistema operativo para móviles más extendido. La empresa es propiedad de Ericsson, Panasonic, Siemens AG, Nokia y Sony-Ericsson. Este sistema desciende de EPOC, empleado en los antiguos ordenadores de bolsillo Psion.

Symbian fue diseñado pensando en dispositivos móviles, lo que hace que sea muy robusto (es raro que se 'cuelgue') y muy espartano con sus necesidades: ahorra siempre que puede espacio en memoria y apaga el procesador cuando no se utiliza, aumentando la vida de la batería.

Con base en Symbian se han desarrollado interfaces de mucho éxito, como la serie 60 de Nokia, que es un estándar abierto. En 2005 se vendieron más de 25 millones de teléfonos basados en la serie 60 en todo el mundo. Symbian también ha dado lugar a plataformas propietarias (programas de pago) muy avanzadas, como las de los teléfonos FOMA que ofrece NTT DoCoMo en Japón.

windows mobile

Windows Mobile, antes conocido como Windows CE o Pocket PC, tiene una larga historia como segundón en el campo de los PDA u ordenadores de bolsillo, sin embargo hace pocos meses superó por primera vez al hasta entonces líder, Palm OS.

El mismo sistema operativo que se emplea en una PDA se aplica a los teléfonos móviles, y la nueva versión 5 está muy orientada a los teléfonos inteligentes de tercera generación (3G). Tras unos años de escasa implantación, Windows Mobile 5 ha logrado atraer a fabricantes como Qtek, Samsung, Nec o la propia Palm, que lo incorpora en sus teléfonos Treo.





Una de las ventajas de Windows Mobile sobre sus competidores es que los programadores pueden desarrollar aplicaciones para móviles utilizando los mismos lenguajes y entornos que emplean con Windows para PC. En comparación, las aplicaciones para Symbian necesitan más esfuerzo de desarrollo, aunque también están más optimizadas para cada modelo de teléfono.



linux

En los círculos del software libre se acaricia la idea de implantar Linux en el teléfono móvil desde hace años, pero ha tardado en llegar. Aún así, en los últimos tiempos se ha avanzado mucho y ya hay varios modelos de móvil en el mercado que utilizan una versión de Linux como su sistema operativo.


Con Linux no hay que pagar licencias, y esto ha atraído a fabricantes de China, Taiwán o Singapur, aunque no son los únicos. Motorola presentó su primer teléfono basado en Linux en 2003, y desde entonces no ha dejado de ofrecer nuevos modelos con este sistema operativo incorporado. Otros fabricantes conocidos, como Nec, Panasonic o Samsung, disponen de numerosos teléfonos Linux.

Además, el fabricante de PDA Palm se ha separado de la división encargada del sistema operativo Palm OS. La nueva versión está a cargo de la empresa japonesa Access y estará basada en Linux. Esperan producir los primeros teléfonos en 2007.

java

Con las siglas J2ME se conoce a Java Micro Edition, la versión del lenguaje de programación Java para dispositivos móviles. Aunque es un lenguaje, y no un sistema operativo, la mayoría de los nuevos móviles pueden ejecutar aplicaciones escritas en Java, y muchos videojuegos se crean de este modo.

También hay sistemas operativos escritos en Java, como el sistema de RIM, que funciona en los teléfonos inteligentes Blackberry. La ventaja de Java es que la programación es similar al famoso lenguaje C, pero más sencilla, con lo que los programadores se pueden familiarizar rápidamente.







Las aplicaciones desarrolladas en Java se pueden ejecutar en cualquier tipo de dispositivo y sistema operativo siempre que disponga de una 'máquina virtual', el programa encargado de interpretar las instrucciones. Existen chips que pueden ejecutar Java directamente, sin necesidad de un sistema operativo entre medias, y no se descarta su uso en teléfonos móviles.

Actualmente los dispositivos móviles son parte de nuestro estilo de vida y la mayoría de nosotros no pueden vivir sin de ellos. Cuando estos dispositivos móviles están conectados con el Internet, el poder de los dispositivos móviles son sin fin.

Podemos entregar datos oportunos al usuario en cualquier lugar y en caulquier momento.

Los usos móviles se desarrollan tradicionalmente usando WML, WMLScript y WBMP con un servidor. Para los usos dinámicos de WML, los reveladores utilizaron el ASP, JSP, PHP, el etc.

Todavía estos usos sirven WML en marcha. Los dispositivos móviles incluyen los teléfonos de la célula, las PC del bolsillo y las PC del automóvil.

Pocos de estos dispositivos se apoyan en WML, y otros pocos en HTML. Recientemente, Microsoft introdujo una plataforma revolucionaria del desarrollo del uso llamada el "marco del NET". Este marco del NET incluye ASP.NET (versión siguiente del ASP) para el desarrollo del Web. Los clientes tradicionales del Web de las ayudas del desarrollo del Web de ASP.NET-based tales como IE y Netscape tan bien como clientes móviles tales como Phone.com, teléfonos de la célula de Nokia y usos de ASP.NET de la PC del bolsillo pueden ser desarrollados en cualquier lengua permitida NET Tal como VB.NET (versión siguiente de VB), JScript, C++ manejado, C # (pronunciado como sostenido de C), etc.



5.2 REFERENCIAS DE DESARROLLO


Los teléfonos móviles son ya parte esencial en nuestra forma de vida. Cada día son más los usuarios de estos terminales, y cada vez más pequeños. Hasta ahora, nos han acompañado a todas partes y nos han permitido comunicarnos con cualquier otro terminal, ya sea fijo o móvil. Aunque la comunicación telefónica por voz es el principal uso de estos terminales, pronto se han desarrollado nuevas formas de comunicación y otras capacidades en torno a nuestros pequeños teléfonos.


5.3 DISEÑO DE LA APLICACIÓN



desarrollo móvil en j2me


El primero, y quizás más lucrativo hasta la fecha, fue el uso de la mensajería SMS (Short Message Service). Nuestros pequeños terminales nos permiten enviar mensajes cortos de texto (hasta un tamaño de 160 caracteres) que son enviados desde el terminal al centro servidor de mensajes cortos o SMSC (Short Message Service Centre), que a su vez se encarga de hacer llegar el mensaje al móvil destinatario.

Más tarde, aparecieron los terminales capaces de navegar por Internet, pero las limitaciones de la pantalla y de los teclados hacían inviable su uso con páginas web normales. Así nació la tecnología WAP, que nos permiten navegar por páginas especiales creadas en WML en lugar de en HTML. Sin embargo, las limitaciones de este medio, y quizás también por el elevado precio y la baja velocidad del servicio, han hecho que la tecnología WAP no se haya extendido tanto como su hermana mayor, la WEB. Para paliar las bajas velocidades -sin contar con la baja fiabilidad- de la tecnología GSM para la transmisión de datos, apareció la tecnología GPRS (General Packet Radio Service). GPRS nos ofrece una red de transferencia de datos sin hilos a una velocidad aceptable, tanto es así, que ahora se puede enviar grandes paquetes de información, como fotografías, música, e incluso video. A partir de aquí, se hace patente la necesidad de una nueva generación de móviles capaces de reproducir músicas más complejas y mostrar gráficos y fotografías en color. A la vez que aparecen estos móviles en el mercado, aparece el nuevo servicio de mensajes cortos llamado MMS (Multimedia Message Service). Gracias a MMS, además de texto, podemos enviar fotografías, sonidos, gráficos, etc. Pero aún estaba por llegar la verdadera revolución.

Sun Mycrosystems da un paso adelante dentro de su tecnología Java, y nos presenta J2ME (Java 2 Micro Edition): un entorno de producción para pequeños dispositivos que permite la ejecución de programas creados en Java. Una de las principales capacidades que añade esta tecnología a nuestros terminales es la posibilidad de descargar y ejecutar juegos con una calidad razonable. Hoy, nuestros teléfonos móviles corren auténticos sistemas operativos. El más conocido quizás es Symbian, que es el corazón de gran cantidad de móviles, como los Nokia, Sony-Ericsson, Motorola y otros.



5.4 COMPONENTES DE INTERFASE DE USUARIO


Para desarrollar usos móviles con el NET, usted debe descargar e instalar los componentes siguientes. El IE y el NET SDK se pueden descargar del sitio de Microsoft MSDN para libre.


  1. Java J2ME

  2. Editor de texto

3 Su simulador favorito WAP



5.5 TECNOLOGÍAS DE COMUNICACIÓN


Los controles móviles son los bloques de edificio para desarrollar usos móviles. Para los que vengan del campo del desarrollo de GUI/Web con cuales quiera de los ambientes integrados del desarrollo (IDE) por ejemplo VB o MS Frontpage, los controles móviles son similares al control del botón del HTML y al control de rejilla en VB. Los controles móviles simplifican el desarrollo del uso proporcionando las capacidades que el programador necesita.


Por ejemplo, si usted desea dibujar una etiqueta de la tarjeta de WML, usted puede utilizar el "control móvil de la forma". Hay controles móviles equivalentes similares disponibles para todas las etiquetas de WML. La belleza de los controles móviles es que están limitadas no solamente a las etiquetas de WML; en lugar, van más allá de las etiquetas de WML y crean controles móviles útiles tales como el "control móvil del calendario" que no está disponible en WML.


Ejemplo de asp.net


<%@ Page Inherits="System.Mobile.UI.MobilePage">

<%@ Register TagPrefix="Mobile" Namespace="System.Mobile.UI">

<Mobile:Form runat="server">

<Mobile:Label runat="server">Hello, World!</Mobile:Label>

</Mobile:Form>






primer midlet



vamos a construir y ejecutar nuestro primer MIDlet. Existen diferentes herramientas válidas para construir programas bajo el standard J2ME, como el propio "Sun One Studio" de Sun Microsystems o "Jbuilder" de Borland. Nosotros vamos a valernos del "J2ME Wireless Toolkit 2.0" que proporciona Sun. Este entorno es el más sencillo de utilizar, y aunque no nos ofrece una gran potencia a la hora de desarrollar aplicaciones, no nos distraerá con grandes complejidades del principal objetivo que es aprender a hacer aplicaciones (juegos) en J2ME.

Para instalar J2ME Wireless Toolkit, primero hemos de instalar el entorno de programación de J2SE (JDK). Puedes descargar la última versión de JDK desde la URL http://java.sun.com/j2se/downloads.html. Una vez descargado e instalado, estaremos en condiciones de descargar e instalar J2ME desde la URL http://java.sun.com/j2me/download.html. El entorno de desarrollo que nos provee el Wireless Toolkit se llama KtoolBar.

Una ves instaladas nuestras aplicaciones pasamos a de inicio y damos click en nuestra aplicación.

 

Ilustración 38: desarrollo con java






Seleccionamos nuevo proyecto

co

Ilustración 39: nuevo proyecto


nfirmamos



 

Ilustración 40: creación de un proyecto en java






Cada una de las carpetas creadas tiene una misión concreta. Por ahora nos bastará saber que nuestros archivos fuente irán emplazados en el directorio src, y los recursos necesarios como gráficos, sonidos, etc... se alojarán en el directorio res.

A diferencia de otros entornos de programación, KToolBar no cuenta con un editor integrado para editar los programas, por lo tanto vamos a utilizar uno externo. Puedes utilizar el bloc de notas de Windows o tu editor favorito. Personalmente utilizo Crimson

Editor (http://www.crimsoneditor.com/), que tiene soporte para Java.























Utilizando tu editor favorito introduce el programa siguiente:

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

public class HelloWorld extends MIDlet implements CommandListener {
private Command exitCommand;
private Display display;
private Form screen;

public HelloWorld() {
// Obtenemos el objeto Display del midlet.
display = Display.getDisplay(this);

// Creamos el comando Salir.
exitCommand = new Command("Salir", Command.EXIT,2);

// Creamos la pantalla principal (un formulario)
screen = new Form("HelloWorld");

// Creamos y añadimos la cadena de texto a la pantalla
StringItem saludo = new StringItem("","Hola Mundo...");
screen.append(saludo);

// Añadimos el comando Salir e indicamos que clase lo manejará
screen.addCommand(exitCommand);
screen.setCommandListener(this);
}

public void startApp() throws MIDletStateChangeException {
// Seleccionamos la pantalla a mostrar
display.setCurrent(screen);
}

public void pauseApp() {
}



public void destroyApp(boolean incondicional) {
}
public void commandAction(Command c, Displayable s) {
// Salir
if (c == exitCommand) {

destroyApp(false);
notifyDestroyed();
}
}
}


5.6 PRUEBA Y DEPURACIÓN

En la pantalla del móvil aparece un menú con un sólo programa llamado HelloWorld. Pulsa select para ejecutarlo.

Deberías ver como aparece la frase Hola Mundo... en la pantalla.

 

Ilustración 41: compilacion




Ahora que hemos comprobado que el programa funciona en el emulador, estamos listos para empaquetar el programa y dejarlo listo para descargar a un dispositivo real. En KToolBar despliega el menú project, y selecciona create package del submenú package. KToolBar nos informa de que ha creado los archivos HelloWorld.jar y HelloWorld.jad dentro del directorio bin. Estos son los archivos que habremos de transferir al teléfono móvil.


 

Ilustración 42: comprovar






 

 

Regresar