You are on page 1of 13

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles.


Nicols lvarez S. nalvarezs@vtr.net

Juan Monsalve Z. jmonsalve@elo.utfsm.cl

>> Programacin de dispositivos mviles

Tpicos a tratar
Repaso de conceptos de programacin. Conceptos bsicos de Java Plataforma a utilizar en el desarrollo de aplicaciones para celulares. Utilizando J2ME. Ejemplos prcticos.

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

Repaso de conceptos bsicos de programacin


Cdigo Fuente / Archivo ejecutable Variables Condicionales (if-else) Iteraciones (do-while, while, for) Uso de IO (Input-Output)

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

Conceptos bsicos de Java


Lenguaje Multiplataforma Lenguaje totalmente orientado a objeto Maquina virtual de Java(JVM): aplicacin que debe traduce el cdigo a cada plataforma compatible con Java Cuando se compila un programa en Java, no se obtiene un ejecutable. Se obtiene un cdigo precompilado que se puede ejecutar en cualquier JVM

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

Plataforma de desarrollo de aplicaciones.


La mayora de los telfonos actuales son capaces de ejecutar aplicaciones desarrollados por terceros (ajenos al fabricante). Las aplicaciones generalmente se desarrollan en el lenguaje de programacin Java, de Sun Microsystems. Dada las caractersticas de hardware limitadas de los celulares, existe una versin de Java optimizada para uso en mviles, denominada J2ME.

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

J2ME: Java 2 Micro Edition


J2ME ofrece una plataforma de desarrollo que permite controlar unas serie de funcionalidades del telfono, como Bluetooth, cmara, conexin GSM, teclas, etc. J2ME es un estndar limitado de Java, ya que fue diseado para desarrollar aplicaciones en celulares, tomando en cuenta su poco poder de procesamiento y memoria. Java es un lenguaje de programacin orientado a objetos, no funcional como C. Para la programacin de nuestras aplicaciones, el concepto de orientacin a objetos pasar a segundo plano y trataremos de programar de manera ms funcional (como en C).
Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

J2ME: Java 2 Micro Edition


Para poder ejecutar una aplicacin en Java, es necesario que los fabricantes de celulares cumplan con el estndar desarrollado por SUN.

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

Desarrollando aplicaciones en J2ME


Al igual que para C, se necesita un compilador para el lenguaje Java. Utilizaremos la herramienta Java ME SDK for CLDC proporcionada por Sony Ericsson. Esta SDK (Software Development Kit) trae ejemplos de ayuda para la programacin, administrador de proyectos y emuladores de telfonos.

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

Creando un proyecto en Java ME SDK for CLDC


Configuraremos en primera instancia el emulador a utilizar. Usaremos como terminal predeterminada el SonyEricsson K510, que corresponden a los celulares que se tienen para trabajar.
Inicio>Programas>Sony Ericsson>Java ME SDK for CLDC>WTK2>Default Device Selection

Posteriormente, abriremos la KToolbar, que oficia de administrador de proyectos.


Inicio>Programas>Sony Ericsson>Java ME SDK for CLDC>WTK2>KToolbar

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

Creando un proyecto en Java ME SDK for CLDC


Una vez abierta la KToolbar, click en New Proyect. Ingresaremos el nombre del proyecto (Project Name) y el nombre del archivo de cdigo fuente a utilizar (MIDlet Class Name).

MIDlet: Programa en Java que se ejecuta en un terminal mvil.

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

Creando un proyecto en Java ME SDK for CLDC


Una vez creado el proyecto, el directorio donde se almacenarn los archivos, corresponder por omisin a:
C:\SonyEricsson\JavaME_SDK_CLDC\PC_Emulation\WTK2\apps\[NOM.PROY]

Bajo el directorio src de ese directorio, almacenaremos los archivos fuentes de la aplicacin. En C, los archivos fuente tienen extensin .c; en Java es .java. Crearemos en el directorio src un archivo de nombre [MIDlet Class Name].java (recordar el nombre del MIDlet al crear el proyecto).

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

Cdigo Fuente en Java / Explicacin


http://www.elo.utfsm.cl/~iwg101/examples/ej1.java

En el archivo previamente creado, pondremos el sgte. Cdigo fuente:


import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class ej1 extends MIDlet{ Libreras a utilizar por la aplicacin, anlogo en C al usar #include <stdio.h> #include <math.h> Se define la clase de nombre ej1 una variable de Se define (MIDlet Name). tipo Form con la funcin destroyApp, que Se define nombre mForm. Las variablesq se hace cuando se cierra la controla lo Form permiten mostrar contenido en el LCD. aplicacin. Muestra en el Ktoolbar el

Form mForm; public void destroyApp(boolean unconditional){ System.out.println("destroyApp"); mensaje destroyApp al cerrar. ejecuta } La funcin startApp se public void startApp(){ automticamente al iniciar la System.out.println("startApp"); aplicacin (como la funcin main de mForm = new Form("Aplicacion de Prueba"); C). A la variable mForm se le asigna el Display mDisplay; ttulo de Aplicacin de Prueba. Se mDisplay = Display.getDisplay(this); crea una variable de tipo Display con mDisplay.setCurrent(mForm); nombre mDisplay. Se fija la variable Se define la funcin pauseApp, que } mForm al mDisplay creado. controla lo q se hace cuando se pausa la public void pauseApp(){ aplicacin. Muestra en el Ktoolbar el System.out.println("pauseApp"); mensaje pauseApp al pausar. } }

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

>> Programacin de dispositivos mviles

Otros Ejemplos
http://www.elo.utfsm.cl/~iwg101/examples/ej2.java (colocar texto en la ventana principal). http://www.elo.utfsm.cl/~iwg101/examples/ej3.java (utilizar botones de comandos). http://www.elo.utfsm.cl/~iwg101/examples/ej4.java (ingresar texto dinmicamente). http://www.elo.utfsm.cl/~iwg101/examples/ej5.java (mostrar imgenes, el archivo de imagen debe colocarse en el directorio res ).

Introduccin a la Ingeniera Telemtica - UTFSM 2008 <<

You might also like