Ver la Versión Completa : Tutorial J2ME: HolaMundo
jesuscoro
07/12/08, 14:37:54
Bueno, pues ahi va mi primer granito de arena al foro de programacion. A ver si se puede abrir otra linea de programacion con Java, y para empezar, como no, con un Hola Mundo. Estoy empezando con J2ME y segun vaya aprendiendo mas espero ir haciendo mas tutoriales. Espero no aburriros demasiado con el tocho que subo.
gracias por el aporte ;-)
JamworkS
07/12/08, 14:44:05
Muy bien compi. Gracias :ok:.
Hace años programé algo en Java pero luego lo abandoné completamente xD. Molaría poenrse de nuevo. Si no recuerdo mal todas las Aplicaciones de Android están hechas en Java.
Un saludo,
JamworkS.
romo1987
07/12/08, 15:09:59
Muy gran aporte...
ME quedan algunas dudas. Cuando creas la textbox, se establece por defecto de modo que ocupa toda la pantalla? O tiene algo que ver con las restricciones que pusiste como 0?
Y si quisieras añadirle lineas, como lo harias? Funcionaria texto.println o algo x el estilo?
De todos modos yo creo que lo verdaderamente interesante seria poder usar JAVA puro en windows mobile, en lugar de J2ME... esto no es posible? Yo creo que si y me gustaria saber como...
Me interesa arrancar programas java de consola... y me imagino que en J2ME ni siquiera existe la posibilidad de hacerlos modo consola, no?
Un saludo, y gran aporte :)
jesuscoro
07/12/08, 15:51:52
Cuando creas la textbox, se establece por defecto de modo que ocupa toda la pantalla? O tiene algo que ver con las restricciones que pusiste como 0?
Por defecto es multilinea y ocupa toda la pantalla. Las restricciones son para el tipo de caracteres que se pueden escribir
Y si quisieras añadirle lineas, como lo harias? Funcionaria texto.println o algo x el estilo?
Basta con poner un \n en la cadena que imprimes para que te haga el salto de linea
De todos modos yo creo que lo verdaderamente interesante seria poder usar JAVA puro en windows mobile, en lugar de J2ME... esto no es posible? Yo creo que si y me gustaria saber como...
Me interesa arrancar programas java de consola... y me imagino que en J2ME ni siquiera existe la posibilidad de hacerlos modo consola, no?
No entiendo muy bien a que te refieres o que utilidad puedes hacer en un programa de consola que no puedas hacer en un programa con una GUI mas avanzada, pero no, hasta donde yo se, J2ME no admite programas de consola.
Un saludo
romo1987
07/12/08, 16:02:22
Ya se que con un \n haces un salto de linea, pero yo me referia a como escribes lineas posteriormente a la creacion de la textbox: en tu codigo creas la text box directamente con el hola mundo escrito, no la creas y luego le envias una linea. Así que lo que quiero saber es como envias otra linea, posteriormente a la creacion.
En cuanto a lo de la consola... no es qe no haya nada que no se pueda hacer siempre mejor con una GUI... es solo que no estoi muy acostumbrado a usar interfaz grafica en programas java, mientras que en consola tengo mucho camino y mcuhas aplicaciones ya desarrolladas, ke me interesaria ver arrancando en el movil
jesuscoro
07/12/08, 16:20:15
Ya se que con un \n haces un salto de linea, pero yo me referia a como escribes lineas posteriormente a la creacion de la textbox: en tu codigo creas la text box directamente con el hola mundo escrito, no la creas y luego le envias una linea. Así que lo que quiero saber es como envias otra linea, posteriormente a la creacion.
Ah vale, te habia entendido mal. Para agregar nuevo texto una vez creado tienes dos formas:
a) texto.setString(cadena) Donde cadena es el nuevo string que quieres mostrar en la caja. Lo que pasa, que esto te borraria el texto que ya hubiera y solo mostraria el nuevo. Podrias sacar primero el texto, añadirle el nuevo, y luego volver a mostrarlo, pero es un poco engorroso. Para eso mejor la segunda manera
b) texto.insert(cadena, posicion); Donde cadena es el string a agregar y posicion el sitio donde se va a agregar. Si la posicion es 0 o menor lo inserta al principio. Si es el tamaño total del texto o mayor la inserta al final. Para calcular el tamaño de la cadena ya mostrada puedes usar texto.size(). Es decir, para mostrar un "Hola Mundo\nHola Mundo" cuando el primer "Hola Mundo" ya estaba hariamos:
TextBox texto = new TextBox("Hola", "Hola, Mundo!", 256, 0);
texto.insert("\nHola Mundo", texto.size());
En cuanto a lo de la consola... no es qe no haya nada que no se pueda hacer siempre mejor con una GUI... es solo que no estoi muy acostumbrado a usar interfaz grafica en programas java, mientras que en consola tengo mucho camino y mcuhas aplicaciones ya desarrolladas, ke me interesaria ver arrancando en el movil
Te lo investigo, pero me temo mucho que no se puede. De lo que si estoy seguro, es de que las que ya tienes hechas no servirian, tendrias que reescribir el codigo, por que esas estaran hechas con una SDK de sobremesa, que tienen muchisimas mas clases de las que soporta la KVM. Ademas, los paquetes javax.microedition no los tiene. Para que funcione necesitas obligatoriamente hacer las aplicaciones con la SDK de JavaME. Ya te contare.
romo1987
07/12/08, 17:01:34
b) texto.insert(cadena, posicion); Donde cadena es el string a agregar y posicion el sitio donde se va a agregar. Si la posicion es 0 o menor lo inserta al principio. Si es el tamaño total del texto o mayor la inserta al final. Para calcular el tamaño de la cadena ya mostrada puedes usar texto.size(). Es decir, para mostrar un "Hola Mundo\nHola Mundo" cuando el primer "Hola Mundo" ya estaba hariamos:
TextBox texto = new TextBox("Hola", "Hola, Mundo!", 256, 0);
texto.insert("\nHola Mundo", texto.size());
Justo esto queria saber, gracias ;)
Lo de que las aplicaciones no me sirven por los metodos que no hay en la API de J2ME ya lo suponia, al igual que pasa con la api de window y la de windows mobile... Por eso me interesa concretamente arrancar JAVA y no J2ME.
Es que el tema de programar con GUI para JAVA nunca se pararon a explicarmelo, y de hecho los resultados que veo en programas como el jdownloader no me gustan... Me gusta mas usar C# para aplicaciones con GUI.
De hecho esta semana termine un proyecto en JAVA en modo consola, y para introducir los datos comodamente hice una GUI con C# que luego ejecutaba el comando correspondiente para lanzar la aplicacion java con los argumentos indicados
jesuscoro
07/12/08, 20:26:51
La verdad es que desconozco completamente si podras llamar desde un programa hecho con .net para WM a un MIDlet de java. Seria cuestion de probar.
Lo de arrancar "java puro" es imposible por las restricciones de la propia especificacion de java. Las maquinas virtuales de dispositivos de poca capaciadad, utilizan J2ME, igual que la maquina virtual de windows, por ejemplo, soporta de forma nativa unicamente J2SE. Luego puedes ir añadiendole tu a tus programas las librerias que necesites, que hay muchisimas ya desarrolladas.
En cuanto a lo de las GUI java, si nunca lo viste, ya intentare pasarte algun manual de Swing. Se pueden hacer cosas realmente potentes y muy vistosas. Si por ejemplo usas NetBeans o Eclipse, ambos estan programados integramente con Java.
Voy a investigarte lo de hacer la capa de presentacion con .net y la de negocio con java a ver que encuentro.
romo1987
07/12/08, 22:27:23
Swing? no habia oido hablar de ello siquiera ya ves jeje.
A mi GUIs en JAVA ni me las han enseñado, ha sido algo comentado como anecdotico, pa dibujar un circulo y un cuadrado y poco mas...
Otra cosa ya es meternos con programas como eclipse o netbeans. Si efectivamente estan hechos en java, mi opinion cambia... pero supongo ke debe ser muy complicado, porque la mayor parte de las aplicaciones que se distribuyen en java las dan en .jar y con ese aspecto de haber sido hecho en java (yo me entiendo jaja).
Lo cierto es que a la hora de diseñar, lo mas efectivo me parece tirar de visual studio y plantar los botones y demas elementos viendolos, arrastrandolos... y asi me hago una idea mucho mejor del diseño final. En java (ni en otros lenguajes tampoco aparte de los contenidos en visual studio) no conozco ningun entorno de trabajo del tipo de visual studio para hacer esto...
jesuscoro
07/12/08, 23:50:29
Bueno, te cuento asi un poco por encima.
Lo primero que hizo java para interfaces graficas fue un conjunto de clases agrupadas en el paquete awt que tenia las funcionalidades basicas y un aspecto bastante pobre. Estoy seguro de que son esas que tu llamas aspecto java, por que la verdad que son horribles. Luego saco una "ampliacion", por decirlo de alguna manera, que es swing. Las clases en el contenidas permiten aplicaciones mucho mas "bonitas" ademas de potentes. Ya te busco algun ejemplo de alguna aplicacion swing para que veas lo que se puede hacer. Si es complicado.... bueno, como cuando empiezas con cualquier cosa nueva. Todo es ponerse, buscar por aqui, por alla, probar....
En cuanto a lo del entorno de desarrollo, eclipse no tiene diseñador, pero NetBeans, no se desde que version(ya van por la 6.5), ya lo incorpora. Tienes la opcion de crear un proyecto Swing, que ya te crea una ventana donde ir añadiendo componentes. Pero bueno, si fueras a mirarlo, yo intentaria hacer primero alguna aplicacion a pelo, sin el diseñador, para ver bien como funciona todo. Eso si, el ejecutable resultante, sera un archivo de java, es decir, jar. Pero vamos, que puedes hacer practicamente lo mismo que con el VisualStudio. Ademas, tienes un monton de plug-ins para personalizar el IDE a tu gusto, añadirle caracteristicas, etc. Si tienes tiempo y no se te da mal el ingles pasate por www.netbeans.org y navega un poco por ahi. Seguro que, aunque sea un poco, te acaba gustando.
Por otro lado, acabo de ver que eres de asturias. Yo soy de oviedo. A ver si quedamos un dia.
romo1987
08/12/08, 00:02:29
Pues voy a descargarme netbeans ahora y echar un vistazo...
La verdad es que nunca me pare mucho a usar ni netbeans ni eclipse, porque aunque me gusta el hecho de que lleve una consola de output integrada y que no haya que pelearse con el classpath, generaba un monton de archivos de proyecto y temporales que eran una movida...
Al final me acostumbre a trabajar con notepad++ y la consola, y asi quedarme con los archivos justos y necesarios y saber donde tengo cada cosa...
Pero bueno, tomo buena nota de lo del netbeans y lo estudiare con el swing, ya te contare ;)
y si, soy de langreo!
que bueno, paisanos mios también, pero una cosa, creo que eclipse tien un plugin para desarrollar tambien con arrastrar y soltar.
romo1987
09/12/08, 13:20:54
mucho asturiano somos por aqui! ;)
Aun no he podido ponerme a bajar el netbeans y estudiar sus posibilidades gui con detenimiento...
En esa misma linea de entorno de desarrollo (pero no para java, sino para c# y otros) acabo de conocer MonoDevelop... pero para instalarlo en windows me da la sensacion de que es un cuento chino. A ver si en navidad con tiempo lo pruebo en linux (y estudio... y hago un tutorial de coneciones tcp desde windows mobile... etc etc... necesito 2 navidades para todo jaja)
mono es la versión open source de .net, lo estan dejando muy bien, pero el problema que tienen son con las librerias gráficas de microsoft, por ejemplo, visualmente no es tan bueno como en .net o incluso puede fallar, pero bueno eso hace un año aproximadamente que fue la última vez que estuve trasteando con él.
romo1987
10/12/08, 21:23:37
pero si usas MonoDevelop... luego quien use tus aplicaciones necesita tener instaladas las librerias Mono? O eso es solo si ejecutas desde un sistema Linux?
se supone que no hará falta porque es un código portable a cualquier plataforma .net, pero como todo no es oro todo lo que brilla :)
vBulletin® v3.8.1, Copyright ©2000-2013, Jelsoft Enterprises Ltd.