programación de teléfonos celulares usando java micro edition.docx

Upload: alexandra-jara

Post on 09-Mar-2016

227 views

Category:

Documents


2 download

DESCRIPTION

podrás utilizar el código necesario para crear tu aplicación.

TRANSCRIPT

Programacin de Telfonos Celulares Usando Java Micro EditionBLOG QUE TE ENSEA A PROGRAMAR TELFONOS CELULARESHEYYYYYYYYYYYYYYYAprende a programar microcontroladores en C...http://tecdigitaldelbajio.com/software-tarjeta.htmlJUEVES, 27 DE AGOSTO DE 2009Ejemplo #11 Creacin de un men usando objetos de tipo List

Seguimos en este ejemplo viendo ms problemas que se resuelven usando la instruccin if. Antes de iniciar con el ejemplo hablemos un poquito de la jerarqua de clases de Java Micro Edition.La siguiente figura muestra la jerarqua de clases definida por los creadores de Java

Bueno yo la simplifique un poquito, me falto agregar algunas clases que todava no se han visto en el blog, pero eso es lo de menos por que ms adelante sern vistas. En la imagen fcilmente se identifican las clases con las que ya se ha trabajado, ChoiceGroup, TextField, etc. Todas ellas como se observa provienen de la clase Form, o ms correcto son subclases de la clase Form.

En el ejemplo #11 vamos a utilizar una clase que esta al mismo nivel que un Form, la clase List. Esta clase esta excelente para crear men de opciones como se ver ms adelante en el ejemplo.

La clase List

Esta clase es muy parecida a la clase ChoiceGroup,nos permite mostrar un grupo de opciones para que el usuario elija una de ellas. La calse List puede ser de tres tipos:

Implcitas Exclusivas Mltiples

Listas Implcitas

Este tipo de listas estn perfectas para realizar un men de opciones, ya que por s mismas al seleccionarse activan un evento, el evento podra ser por ejemplo abrir un formulario (Form) para realizar algn clculo, voy a repetirlo, este tipo de listas: generaran un evento es decir no se requiere ningn okCommand despus de seleccionarse.

La figura siguiente muestra la imagen de una lista implcita

Listas Exclusivas y Mltiples

La figura siguiente muestra la imagen de este par de listas al lector se le van a hacer muy conocidas, puesto que si ha seguido el blog ya habr trabajado con ChoiceGroup pues estos como puede verse en la imagen son idnticos a la lista mostrada enseguida.

No se entrar en detalles sobre este tipo de listas, se manejan igual que los ChoiceGroup, se usa el mtodo getSelectIndex() para identificar que elemento se selecciono en las listas de tipo exclusive y el mtodo getSelectFlag() para las listas de tipo mltiple.

Como crear objetos de tipo List desde netBeans

El proceso para crear este tipo de listas es bien sencillo solo se arrastran y sueltan en la vista de flujo de NetBeans. En la figura siguiente se muestra lo mencionado en este prrafo.

En la figura se observan tres grandes pasos que se realizan al trabajar con las listas, arrastrar y soltar (1), agregar los elementos necesarios (2) y conectar las acciones (3).

En la figura se observa como el mtodo Started del dispositivo est conectado a la lista (todos los anteriores ejemplos estaban conectados a un Form). La conexin que sale de este mtodo es lo primero que se ejecuta en el celular, en nuestro caso la lista que es la que contendra un hipottico men de opciones deberi ser lo primero que se mostrara en la pantalla del celular, esa es la razn de la conexin con el mtodo Started contrario a todos los ejemplos donde se conectaban a un Form.

Por otro lado en la figura se observan dos elementos en la lista, llamados List Element 1 y List Element 2, vase como el primer elemento de la lista se conecta al Form, esto significa que cuando seleccione el List Element 1 muestram el Form. Entonces directamente puedo mandar llamar los Form que sean necesarios.

Bueno basta de teora, quiz el ejemplo #11 que se muestra enseguida, haga que todas las dudas que han surgido se aclaren, as que pasemos a ver de que trata.

Ejemplo # 11 Men de opciones

Realizar un programa para el celular que sea capaz de mostrar un men conlassiguientes opciones:

rea de un crculo. Obtener nmero mayor Ecuacin cuadrtica. Salir

El programa deber ser capaz de realizar la operacin seleccionada por el usuario.

Observaciones:

La opcin rea de un circulo, pide el radio del circulo y calcula su rea. La opcin de Obtener nmero mayor deber pedir tres nmeros solamente e indicar cual es el mayor de los tres. Para la opcin Ecuacin cuadrtica usar la formula general y tener cuidado porque puede ser que la solucin tenga races imaginarias.

Solucin

Paso 1 Creacin del men

Para esta opcin simplemente creamos la lista con las opciones mencionadas, para cada opcin se crea un Form y se realizan las conexiones necesarias. La figura siguiente muestra la creacin de la lista y se muestran las conexiones para dos opciones nada ms.

En la figura se remarca que se requieren dos comandos un okCommand encargado de realizar la operacin necesaria y un exitCommand que nos regresa al men principal.

Paso #2 Agregar interfaz de usuario para cada opcin

En la vista de flujo se da doble clic para que se abra cada Form y as poder agregar los elementos necesarios para la interfaz, como ya se ha realizado en otros ejemplos. La figura siguiente muestra la interfaz de usuario para la opcin rea de un crculo

En resumen la interfaz de usuario para cada opcin es la siguiente:

Opcin 1: Un TextField para ingresar el radio y un StringItem para mostrar el resultado.Opcin 2: Tres TextField para ingresar los tres nmeros y un StringITem para mostrar el resultado.Opcin 3: Tres TextField para ingresar los tres coeficientes de la ecuacin y un Stringitem para mostrar el resultado.

Paso #3 Agregar el cdigo en cada form

Cada Form tiene un okCommand para ejecutar la accin que se pide, dando clic derecho se tiene acceso a insertar el cdigo como ya se ha visto en los Ejemplos #8 y #9. Aqu no voy a entrar en detalle del cdigo, en teora el lector debe tener idea de cmo hacer dicho cdigo, mejor en el video que se muestra ms adelante se puede ver el cdigo con exactitud, agrandes rasgos lo que se realiza para cada opcin es lo que sigue:

Opcin 1: Leer el valor que se ingreso de radio, se aplica la formula y se muestra el resultado.Opcin 2: Leer los tres nmeros y luego hacer tres comparaciones para saber cual es el mayor.Opcin 3: Leer los tres coeficientes, verificar si se puede resolver la ecuacin y si es as aplicar la formula y mostrar los resultados y si no enviar mensaje de que tiene races imaginarias.

Paso #4 Probar

Pues ya finalmente se prueba el ejemplo y se verifica que no se tengan errores si los hay se corrige el cdigo hasta que quede listo.

Video TutorialTodo lo dicho anteriormente se puede ver quiz ms fcil desde el siguiente video tutorial que muestra la solucin para este ejercicio.

Cdigo Fuente

Dando clicaquse puede bajar el cdigo fuente, por si te hace falta.

PUBLICADO PORDOATEEN16:47ETIQUETAS:LIST8 COMENTARIOS:1. Erich Medina30 de agosto de 2009, 9:32tu curso esta extraordinario quizas podrias a yudarme a crear un programa para que corte llamadas automaticacamente al llegar a un tiempo determinado de minutos que uno elija,gracias.Responder2. MAMC31 de agosto de 2009, 9:14Excelente esto me sirve de mucho para los menues de mi aplicacion, y me acabo de dar cuenta que se pueden colocar imagenes a cada elemento de la list asi puedo improvisar botones :)Responder3. Annimo5 de octubre de 2009, 15:41Estimado:

Es posible a traves de alguna herramienta capturar una imagen que el celular graba?, por ejemplo, una pantalla realizada en NetBeans o Java ME y que en esta pantalla se pueda ver lo que el celular ( la camara interna del celular)esta observando y o gravando , mi idea es poder gravar una imagen y realizarle un tratamiento a esta imagen, pero una imagen dinamica, en movimiento, con la camara interna del celular. para asi poder transformar esta imagen en una matriz ( tratamiento de imagenes) y poderla manipular. A y lo otro, Es posible a traves de Java ME o NetBeasn controlar el minipuesrto USB del celular? y como podria hacerlo..por ejemplo, para prender unos leds desde el celular??

Atte

CristianResponder4. Doate6 de octubre de 2009, 6:37Hola Cristian, si claro que es posible lo que mencionas, de echo Sun (los creadores de Java ME) crearon una libreria, ellos le llaman API, se llama Mobile Media API, encuentras informacin aqui: http://www.j2ee.me/products/mmapi/ .Hay que leer la documentacin para ver como se usa para tu aplicacin, yo nunca la he usado pero segn sirve para controlar audio y video del dispoitivo...lo otro, Es posible usnado una API, la comunicacin por medio del USB pero a una PC checa http://www.steelbrothers.ch/jusb/index.htmlSi deseas encender LEDs no se puede, directamente, pero seria mas emocionante si enciendes leds usando el bluetooth (sin cables), hay modulos como el de Parallax: http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/bluetooth/List/0/SortField/4/ProductID/550/Default.aspx que se conecta a un microcontrolador, adems conectas los LEDS al micro y despues se disea un programa para el celular que manipule el bluetooth del celular, el modulo recibe eldato el microcontrolador lo procesa y enciende o apaga los LEDs o cosas mas complicadas comoel control de un robot.

saludosDoateResponder5. Annimo17 de abril de 2010, 17:13Te felicito esta muy interesante tus aportesResponder6. alexmono28 de abril de 2010, 21:14hey hermano qeu tal!!! me parece increible esta ayuda tuya para los que estamso empezando.. lo haces muy pedagojicamente.. excelente... tengo un problema.. estoy empezando con esto.. y lo entiendo a la perfeccion.. pero..en mi celular no se ejecuta como en la simulacion... tengo un nokia 5200... a diferencia de los proyectos que tu creas.. a mi.. la plataforma de emulacion no es otra qeu: SUN JAVA(TM) WIRELESS TOOLKIT 2.5.2 FOR CDLC.. Y CREO QEU ES ALGO ASOCIADO A ESTO LO QUE ME IMPIEDE CORRERLO EN MI TELEFONO CELULAR.. COMO PODRIA CORREGIR YO ESTE ERROR!! OARA QUE CORRA EN MI CELULAR.. O CUALQUIER OTRO????? GRACIAS..... ESTARE MUY MUY AGRADECIDO CON LA RESPUESTA!!Responder7. DEIVERCORDERO31 de enero de 2013, 13:03Y COMO SERIA ENTONCES UTILIZANDO ECLIPSE?... LO USO PORQUE GASTA MENOS MEMORIA QUE EL NETBEANSResponder8. DEIVERCORDERO31 de enero de 2013, 13:06Y COMO SERIA ENTONCES UTILIZANDO ECLIPSE?... LO USO PORQUE GASTA MENOS MEMORIA QUE EL NETBEANSResponderENLACES A ESTA ENTRADACrear un enlaceEntrada ms recienteEntrada antiguaPgina principalSuscribirse a:Enviar comentarios (Atom)ARCHIVO DEL BLOG 2010(12) 2009(39) diciembre(4) noviembre(1) octubre(6) septiembre(6) agosto(4) Ejemplo #11 Creacin de un men usando objetos de ... Ejemplo #10 Aplicacin de los ChoiceGroup Como saber que elemento de un ChoiceGroup se ha se... Instrucciones de Condicin Anidadas julio(4) junio(7) mayo(7)PROGRAMADOR USB PARA PICSEl programador mas pequeo del mundoSEGUIDORESENTRADAS ALEATORIAS Ejemplo #13 Ciclo for y objetos TableItem Estructuras de repeticin: Ciclo For Ejemplo #3 Como usar un "TextField" La Clase Canvas Parte II Ejemplo #19 Animacin usando imgenes