programación de dispositivos móviles

7
Programación de dispositivos móviles Enviar las aplicaciones al dispositivo móvil Programación de Teléfonos Celulares Usando Java Micro Edition Paso #1 Se identifica la ruta del proyecto Primero que nada, se debe identificar la ruta donde se guardo el proyecto, si no se recuerda, se puede ver, simplemente dando clic derecho al proyecto dentro del NetBeans, como se observa en la figura: Al hacer lo anterior, aparece la configuración del proyecto donde se puede ver la ruta cuando se da click sobre la opción de General, esto se puede ver en la figura:

Upload: 3dd4

Post on 21-Dec-2015

4 views

Category:

Documents


3 download

DESCRIPTION

Programación de Teléfonos Celulares

TRANSCRIPT

Page 1: Programación de Dispositivos Móviles

Programación de dispositivos móvilesEnviar las aplicaciones al dispositivo móvil

Programación de Teléfonos Celulares Usando Java Micro EditionPaso #1 Se identifica la ruta del proyecto

Primero que nada, se debe identificar la ruta donde se guardo el proyecto, si no se recuerda, sepuede ver, simplemente dando clic derecho al proyecto dentro del NetBeans, como se observa en lafigura:

Al hacer lo anterior, aparece la configuración del proyecto donde se puede ver la ruta cuando se da click sobre la opción de General, esto se puede ver en la figura:

Page 2: Programación de Dispositivos Móviles

Paso #2 Identificar el archivo JAR

NetBeans genera automáticamente un archivo con extensión JAR, (Java Archive, Archivo de Java)cuando no existe ningún tipo de error en el proyecto. Este archivo contiene todos los recursosnecesarios para que se ejecute en nuestro caso en un teléfono celular. El celular cuando soportaJava, puede recibir estos archivos y ejecutarlos.

Este archivo NetBeans lo genera en la carpeta llamada Dist ,y tiene el mismo nombre que elproyecto, la figura que sigue muestra el Explorador de Windows con la ubicación del archivo JARen mi computadora, que es obviamente la misma que se mostro en la imagen anterior la delNetBeans.

Paso #3 Enviar el archivo JAR al teléfono celular

Finalmente se envía el archivo JAR al celular. Yo lo hago usando la comunicación Bluetooth, milaptop soporta Bluetooth y el celular (por cierto uso un Sony Ericsson W595a ) también soportaBluetooth, así que doy clic derecho en el archivo y le digo que lo envié por Bluetooth, la figurasiguiente muestra como lo hago desde mi laptop.

Page 3: Programación de Dispositivos Móviles

Al hacer lo anterior el teléfono detecta el archivo e indica si se desea recibir el archivo JAR desde laLAP, le indicamos al celular que si y el archivo se transfiere, el celular detecta que es un archivoJAR e indica donde lo deseamos guardar, si en la carpeta de Juegos o de Aplicaciones, elegimos lade aplicaciones y se guarda ahí, después el mismo celular indica si se desea iniciar la ejecución delarchivo, y si decimos que si, aparece en la pantalla el “Hola Mundo :) “, tal y como se mostro en elemulador.

Observaciones

• Otra posibilidad de enviar el archivo JAR es usando el cable USB, el proceso esprácticamente el mismo.

• Este ejemplo lo ejecute para un teléfono Sony Ericsson, supongo que el proceso es el mismo(no lo he verificado) para un celular de, por ejemplo, Nokia que soporte Java.

Page 4: Programación de Dispositivos Móviles

Blog Programación J2ME

Programación de Teléfonos Celulares Usando Java Micro Edition

Ejemplo #23 Animación usando la Clase Sprite

Ya se ha visto en el blog varios ejemplos de la clase GameCanvas, una clase de la API para juegos de Java Micro Edition, contenida en el paquete javax.microedition.lcdui.game, pero este paquete tiene más clases en total son cinco clases más que ayudan al desarrollo de juegos, una de ellas es la clase Sprite, que hoy es la que se va analizar.

¿Qué es un Sprite?

Un Sprite es cualquier objeto gráfico que esta aparece en la pantalla del juego, ya se vio en elejemplo #19 como realizar la animación de una pelotita por toda la pantalla, pues ese es un objetográfico, ese es un Sprite.

Sprite Animados

Existen dos tipos de sprite: los sprite estáticos, una imagen vale más que mil palabras y en la figurasiguiente se muestran dos sprite estáticos, el fondo y la pelotita que, como recordará el lector semueve por toda la pantalla y rebota, aún así a pesar de ello la pelotita es un Sprite estático.

Ahora vea la siguiente animación, ahí se muestra un sprite animado, qué es el otro tipo de sprite.

>

El Sprite, animado se forma por dos o más imágenes, en el caso de la animación anterior, que porcierto muestra a Mario, un famoso personaje de los video juegos que va caminando, se forma por3 imágenes, las cuales son mostradas en la figura siguiente

Las tres imágenes se diseñaron para que juntas puedan simular que Mario camina.

En el ambiente de los juegos cada imagen es llamada “frame” o se podría decir fotograma enespañol, para realizar la animación, Java necesita las imágenes tal y como se muestran en laimagen anterior, un fotograma seguido del otro, en un arreglo horizontal como el de la figura otambién se puede hacer en un arreglo vertical, es importante el tamaño, muy importante, en estecaso, la imagen para cada fotograma mide 32 pixeles de ancho y 62 de alto, la imagen con los tresfotogramas juntos mide 96*62, Java para optimizar obtiene los datos de cada uno de losfotogramas de una sola imagen, en otros tiempos era necesario ingresar una a una las imágenes,

Page 5: Programación de Dispositivos Móviles

ahora no es necesario, se carga una imagen con los fotogramas y Java hace el resto..

Por cierto, a cada fotograma Java le asigna un índice, un único número, que inicia en 0 y terminacon el último fotograma.

Código para la creación del sprite

El primer paso para crear un Sprite, es cargar las imágenes en variables de tipo Image, tal y comose observa en el siguiente código:

mario = Image.createImage("/Mario96_62.gif");

fondo = Image.createImage("/fondo.jpg");

No se muestra pero, es obvio que las variables “fondo” y “mario” deben ser declaradas antes deeste código como variables de tipo Image, esto ya se hizo en ejemplos anteriores, tambiénrecuerde que estas instrucciones deben ser encerradas con su try y catch, tampoco se muestra porque ya se vio en ejemplos anteriores del blog y también el MIDlet donde se probo NO fue creadocon el "hello MIDlet" como otros proyectos por eso la ruta de la imagen no lleva el "/hello/".

El segundo paso es la creación del Sprite, primeramente deben declarar dos variables de tipo spriteasí:

Sprite sprFondo;

Sprite sprMario;

Con lo anterior apenas se reserva espacio en memoria, falta el código que de verdad crea lossprites, por cierto son dos tipos diferentes de Sprite, el fondo que va a ser un sprite estático y el deMario caminando que es un Sprite animado, el código siguiente crea el sprite para el fondo:

sprFondo = new Sprite(fondo);

Con lo anterior se crea el sprite, vea que simple fue, el constructor de la clase solo lleva unparámetro que es la imagen y listo, ahora vea el código para el Sprite animado:

sprMario = new Sprite(mario, 32, 62);

El constructor ahora lleva tres parámetros, uno que es la imagen la que contiene los tresfotogramas y dos parámetros más que son el ancho y alto de cada fotograma y listo, Java seencarga de manipular los fotogramas y mostrarlos en la pantalla del celular, uno tras otro.

Es muy importante la dimensión, en base al ancho (32) del fotograma que se envía al constructorcon el código anterior, Java espera una imagen que sea múltiplo de 32, por eso es que nuestraimagen de mide 96*62, así Java sabe que solo son tres fotogramas los que se reproduciránautomáticamente, cualquier dimensión que no sea múltiplo del ancho o del alto Java no cargaría laimagen al momento de ejecutar el programa y no podríamos ver ninguna animación.

Dibujando el Sprite

Para mostrar en la pantalla el sprite se debe hacer uso del método paint, así:

sprMario.paint(g);

Page 6: Programación de Dispositivos Móviles

sprFondo.paint(g);

Este método lleva como parámetro el objeto “g” que es el objeto de tipo Graphics usado paradibujar en el GameCanvas como ya se ha visto en ejemplos pasados. Este método se escribedentro del while(true) del método run(), recuerde que en este método se realiza la animacióncomo se vio en ejemplos pasados.

Moviendo los fotogramas

El método nextFrame, me permite ir avanzando por los fotogramas de la animación, si yo no louso, el sprite animado simplemente se quedaría en una única imagen y no se movería, el métododebe ir dentro del ciclo while, del método run, así se usa:

sprMario.nextFrame();

Cada que se ejecuta este método, el sprite avanza un fotograma, automáticamente Java controlaesto, así que cuando llega al tercer fotograma en nuestro caso, se vuelve a mostrar el primerfotograma y así sucesivamente, en un ciclo infinito.

Moviendo el Sprite

Existe un método que me permite mover el sprite, el método es llamado “move” y con él se mueveel Sprite a la velocidad que uno desee, un ejemplo del uso de este método es como sigue:

sprMario.move(5, 5);

Con esa instrucción el sprite se mueve en el eje x y en el eje y a una velocidad de 5 pixeles, estoimplica que “mario caminaría” en diagonal, si deseo que camine en línea recta que es lo normalpara un sprite como el que estamos trabajando sería así:

sprMario.move(5, 0);

Vea la coordenada en Y esta en 0 así no hay incremento en Y y el Sprite avanzaría en línea recta.

Por otro lado, el sprite automáticamente realiza los incrementos de la variable, así que yo no mepreocupo en incrementar la posición para realizar la animación, en verdad que esta clase me evitamucho código y me facilita las cosas muchísimo.

¿Dónde aparece el Sprite?

Para poder definir donde debe aparecer el Sprite, por “default” aparece en la posición (0,0) de lapantalla, se usa el método setPosition, por ejemplo:

sprMario.setPosition(10, 90);

Ubicará al Sprite dentro del GameCanvas en la posición 10 en x y 90 en Y, con este método sepuede colocar el Sprite donde nosotros deseemos.

Video-Tutorial

Finalmente el video muestra el ejemplo completo que hace que el sprite de Mario camine en línearecta, por la pantalla. Se anima al lector para que experimente cambiando la posición y velocidadpara que vaya viendo por si mismo los cambios y así queden más claros los ejemplos y lasinstrucciones vistas en este articulo.

Page 7: Programación de Dispositivos Móviles

El video inicia ya con el Midlet creado y la subclase AnimacionSprite que deriva con GameCanvas,inclusive ya con el código para el botón de Salir, se baso en el Ejemplo #18 y el #19

Aún así aqu í les dejo comprimido todas las carpetas que genera NetBeans 6.8, para este ejemplo, puedes probar el archivo JAR directamente en tu celular, este como se recordará está en la carpeta “dist”, inclusive, en la carpeta “src” está el código fuente además de las imágenes usadas en el ejemplo, obvio incluye la imagen de Mario con los tres fotogramas.

Plataforma JAVA

Configuracion CLDC y MIDP