sábado, 25 de abril de 2009

CLDC y MIDP conociendo los Midlets - Manuales y Libros de J2ME

q tal:
Bueno aqui pongo a su disposición unos enlaces muy interesantes que particularmente me han ayudado mucho en este camino..y como parte para ahorrarles un poco el trabajo, ya que como les comentaba en el anterior post, es fundamental conocer estos conceptos para desarrollar nuestras aplicaciones con J2ME:

Enlaces:

http://leo.ugr.es/J2ME/INTRO/index2.htm
http://grasia.fdi.ucm.es/j2me/_J2METech/CLDC.html
http://grasia.fdi.ucm.es/j2me/_J2METech/MIDP.html
http://www.it.uc3m.es/celeste/docencia/j2me/tutoriales/ (recomendado)
http://www.it.uc3m.es/celeste/docencia/j2me/tutoriales/midp2_0/PracticaGame/
http://www.javahispano.org/contenidos/es/introduccrion_a_j2me/
http://www.vb-mundo.com/tutoriales/J2ME/56.html

Una parte de manuales que recopilé:
http://www.mediafire.com/download.php?kjfrfm2m4i3

Estos tres libritos que aunque estan en Inglés no impide admirarlos:


Link de descarga -->....http://www.mediafire.com/download.php?ylgmi0wrzgu


Link de descarga -->....http://www.mediafire.com/download.php?ynm2njwdmu5


Link de descarga -->....http://www.mediafire.com/download.php?nykh30emm5m

Programación para dispositivos Móviles con J2ME usando Wireless Toolkit y JCreator.........(Desarrollo)

ahora la practica:
Y es que pongo Jcreator como editor del codigo porque es el primer IDE que conocí para programacion en Java y con el cual me familiaricé por mucho tiempo, y es que en la actualidad muchos programadores usan editores mucho mas potentes como el NetBeans o Eclipse los cuales facilitan mucho la programación y son muy eficaces en el ahorro del tiempo para el desarrollo de Sistemas. NetBeans es el mas estable para programacion J2ME, la facilidad para crear interfaces es muy buena, actualmente es el IDE que uso para estas aplicaciones, ya que mi preferido JDeveloper tiene muchas dificultades para usar el plugin de J2ME.

las vivencias --> aqui!

Con respecto al IDE, siempre e dicho que lo mas importante es la capacidad que posee el programador para elaborar sus algoritmos y contar con el conocimiento de muchas clases y metodos para asi no depender de algun IDE. Partiendo desde un block de notas o un notepad++ se aprende mejor ya que buscaras los metodos y clases en tus libros y apuntes y te obligara a la investigacion y no un IDE que te autogenera todos las clases y metodos disponibles y al otro dia ya se te habra olvidado.
Estoy de acuerdo con la opinión de mi compañero Martin cuando dice que los IDE y las librerias disminuyen la creatividad del programador pero no se le quita su gran ayuda a la hora de desarrollar proyectos de forma más rápida.

Bueno ahi el tuto:

1.- Descarga e instala el Sun Wireless Toolkit 2.5.2_01 ..el enlalce-->aqui.
2.- La instalacion es sencilla..asi q abrimos la herramienta KToolbar desde la carpeta 'bin' del directorio de archivos q creó el programa.( por defecto en la carpeta c:\WTK2.5.2_01 ) o tb dsde el menu de Inicio:
Tendremos algo como esto que consituye la interfaz del programa:
Creamos un nuevo proyecto y nos pedira : el nombre del proyecto y el nombre del midlet ( nombre de la clase ejecutable) de preferencia deben tener el mismo nombre:
Automaticamente nos abrirá la ventana de propiedades del proyecto lo cual a mi parecer es la parte mas delicada y requiere tener conocimiento de los fundamentos de J2ME, pero se escapa del objetivo de este tuto que les comparto, el explicarles todos estos conceptos...ya que se extenderia demasiado, asi que les recomiendo leer sobre la configuracion CLDC y el perfil MIDP.. y seguir el tuto:

la mayoria de celulares modernos soportan CLDC 1.1 Y MIDP 2.0, para algun modelo en especial puede ser bueno que averigue la configuracion y perfil de su celular, los que e probado y soportan esta configuracion son por ejemplo un sonyEricsson k310,w200 , Nokia 3220,5200,5300 y algunos modelos de Samsung..Actualmente he conseguido un nokia 5200 y corren muy bien las aplicaciones...ahí algunas propiedades que se generan y pueden ser modificadas
En el proyecto se crea el siguiente sistema de carpetas:
src -> contiene los ficheros java que hagamos con JCreator
classes -> aqui se guardan los archivos compilados .class que genera el WTK
res -> se guardan archivos externos , como imagenes por ejemplo.
bin -> aqui se guardan los fecheros ejecutables, un fichero jad que contiene toda los detalles del midlet, y el jar que es el archivo que llevaremos a nuestro celular, en este hay un engorroso camino de creacion ... pero fue la unica manera que pude descubrir, asi que si alguien puede hacer algo mas sencillo mejor p. La carpeta del proyecto se crea por defecto en 'C:\Documents and Settings\luis182\j2mewtk\2.5.2\apps'Otro tema que se escapa a este tuto es la codificacion de las aplicaciones y la estructura de los midlets, pero eso seria bueno investigarlo.....o con unos ejemplos que suba al blog se pueden familiarizar. Ahi una toma programando en JCreator, Ahi muestro una toma de una de mis primeras aplicaciones que elaboré, sobre conversion de numeros binarios,octales,hexas que al final del tuto lo pondre para descarga.

Lo curioso es que solo usaremos el JCreator como editor mas no para compilar nuestras clases..ya que el que compilara el codigo es el WTK.. cuando ya lengamos nuestro codigo hecho lo compilamos con (boton 'build' en el WTK) y ahora el procedimiento engorroso del que les hablaba..y es que el problema fue que nunca vi una funcion en el WTK que me generara el jar automaticamente..asi que decidi crearlo con el JCreator y la explicacion esta dada en una entrada antigua de este blog.-->(http://luanunp.blogspot.com/2008/10/solucion-ejecutable-jar-con-jcreator.html), con la diferencia que ahora ya no le agreguen el Main-Class...Un dato importante es que en el jar hemos debido empaquetar las clases que compilo el WTK y se encuentran en la carpeta 'classes', despues de eso darle un nombre al jar..de hecho q el nombre del midlet , y llevarlo a la carpeta 'bin'
Ahora a editar el jar--> editamos el manifest al igual q en el tuto antes mencionado y editar el jad tambien..todo el contenido del jad lo pegamos en el manifest del jar y lo reeemplazamos...
Muy bien ahora tenemos que ver el tamaño del jar despues de la modificación para luego abrir las propiedades del proyecto en el WTK y cambiar el tamaño del jar..y listo..!!
Ahora podemos emular nuestra apliacion con el Emulador incorporado que trae el WTK..
De dos maneras
1.- Doble click sobre el fichero .jad
2.- Desde el WTK en 'Run'
Este es el resultado:
Para ejecutarlo sobre tu celular solo necesitas llevar el jar porque como vimos anteriormente , el manifest ya contiene toda la informacion que el jad tiene del jar.

El ejemplo --> aqui!!

Me estoy animando por poner un videito..jeje


dudas o sugerencias --> luisan_182@hotmail.com

Programación para dispositivos Móviles con J2ME usando Wireless Toolkit y JCreator...........(VIVENCIAS)

q tal:

Bueno por fin me reencuentro con mi blog, ya lo tenia abandonado desde hace un tiempo por la absorvente Universidad..Ya me encuentro terminando este octavo ciclo y me daré tiempo a postear mas articulos que tengo por ahi guardados.


las Vivencias con J2ME...

Hace ya casi dos años me acuerdo que un compañero de estudios me mostró unos manuales y software que habia encontrado en los laboratorios de mi Facultad, le di un vistazo y alcance a ver bastante codigo en lenguaje java y muchos gráficos de telefonos celulares. Me pareció bastante interesante y los lleve a casa para leerlos detenidamente. Pues se trataba de la Aquitectura J2ME, la cual es la especificacion de Java para dispositivos con capacidades reducidas de recursos, mas especificos con celulares, PDAS, palms, etc..

Seguí invetigando mas sobre el tema .. y me encontre con el programa que hace posible desarrolar estas maravillas y es uno elaborado por la misma SUN, llamado Wieless Toolkit que recuerdo haberlo encontrado en ese entoncs en la version 2.5, la mas actual hasta el momento es la 2.5.2_01, cabe resaltar que este software no es ningun IDE ni nada por el estilo, para programar se puede usar cualquier editor de texto, el software lo q hara es compilar tu codigo tomando las especificaciones dadas como la version del CLDC y el MIDP (sugiero una letura intensiva sobre estos dos terminos), entre otros parametros y este creará todos los archivos ejecutables necesarios para ver correr tus aplicaciones..

Pero la gran pregunta es -> Que es lo que J2ME me brinda para desarrollar aplicaciones y que aplicaciones y para qué pueden servir??
Pues la respuesta es simple ...muchas aplicaciones desde agendas, juegos,aplicaciones Bluetooth, podrias llevar muchas de tus aplicaciones que hiciste en java para escritorio, llevarlas a tu celular y disfrutar de la movilidad que este ofrece, y sobre todo las mas importante son las aplicaciones de conexion, podriamos tener un servidor que reciba peticiones desde el dispositivo celular y q la logica de negocio q este alberga nos de informacion q requerimos hacia el celular, la variedad es mucha, todo queda al ingenio del desarrollador.

De antemano puedo decir que entrar a este micromundo como le llaman muchos desarrolladores, es sinonimo de entrega e investigacion, programar midlets(asi como un applet es para el navegador, el midlet es al celular) para nuestros celulares es tarea facil pero requiere darle tiempo y espacio...en mi experiencia propia me ha costado ya algunos cursos en la Universidad ya que solia descuidarlos por sentarme en mi ordenador investigando y programando..Pero es algo de lo que no me arrepiento.

Empece a llevar algunas de mis apliaciones que habia desarrollado en los cursos de Programacion I y Programacion II a midlets.. y me fue muy bien aunque en el camino me encontré con muchos inconvenientes y errores que por falta de lectura a veces tardaba un poco en solucionar, pero como suelo decir -> "si no existen errores no habria razón de aprender y si estos no se muestran es porque ya tengo todo apendido"... He aqui donde se muestra el tiempo y detenimiento que le puedas dar al tema... Para desarrollar juegos podria decir que requiere mucho tiempo, ademas muchas empresas que se dedican a esto como gameloft desarrollan juegos excepcionales de calidad, asi que nuestras posibilidades de desarrollo están mas orientadas a otro tipo de aplicaciones entre ellas las mas interesantes son las de conexiones...

Lo Curioso:
y es que todo este tiempo que e programado midlets casi todo era probado solo en el emulador ya que solo me acompañaba un nokia antiguo que mas parecia Walkie Talkie jeje..y ps tenia que recurrir a los amigos para poder correr mis aplicaciones en sus celulares...aunq con miedo claro porque algunos no confiaban ...Bueno ahora ia tengo un Nokia 5200 al cual le corre todo de maravilla!!

a la práctica --> siguiente!
Bueno creo q esa ha sido una breve introduccion a esta interesante tecnologia...gracias por la atencion!!!