Java vs .NET
julio 11, 2010 Deja un comentario
julio 1, 2010 2 comentarios
No entiendo muy bien la razón de esta decisión, pero como vemos nada más empezar el changelog de la última actualización de Debian 5.0.5, eclipse es eliminado de los repositorios. Eclipse es un IDE (Integrated development environment) muy usado y extendido, no sólo para Java si no para otros lenguajes como C/C++ o PHP con soporte de multitud de plugins, y me atrevería a decir que es el mejor o uno de los mejores junto con NetBeans y posiblemente IDEA, y es 100% open source.
Por ello no entiendo esta decisión, que podría reflejarse directamente en Ubuntu al estar este basado en Debian, pero aunque no me cuesta nada descargar Eclipse de la página oficial y ejecutarlo sin ningún problema, tenerlo en los repositorios es sin duda una ventaja que hace que además esté más integrado con el sistema.
De hecho, y como veis en la imagen, si hacemos una búsqueda del paquete eclipse en debian packages con la distribución estable, el paquete no existe, y en versiones antiguas, si.
mayo 15, 2010 Deja un comentario
En primer lugar tenemos que bajar el Sun Java Wireless Toolkit desde aquí:
http://java.sun.com/products/sjwtoolkit/download.html
y antes de instalarlo, instalaremos las dependencias necesarias con:
sudo apt-get install libxpm-dev libxt-dev libx11-dev libice-dev libsm-dev libc6-dev libstdc++6-dev
ahora sí, instalaremos el Sun Java Wireless Toolkit que hemos descargado, como es un fichero .bin primero tendremos que darle permisos de ejecución y luego ya lo podremos ejecutar desde la consola, todo ello con (el nombre del archivo puede variar dependiendo de la versión descargada):
chmod +x sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh
./sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh
Tendremos que leer el contrato y aceptarlo, introducir el path de la JVM, que para mi caso es este:
/usr/lib/jvm/java-6-sun/bin/
y coger las opciones pertinentes para que lo instale.
Ahora vayamos con Eclipse, instalaremos el plugin EclipseME (Mobile Edition) siguiendo estas instrucciones:
http://eclipseme.org/docs/installation.html
http://eclipseme.org/docs/installEclipseME.html
http://eclipseme.org/docs/configuring.html
Si todo salió bien, en Window > Preferences deberíais ver un apartado que se J2ME.
Y con esto tendremos todo listo para desarrollar nuestras aplicaciones para movil!
mayo 18, 2009 1 comentario
Traducir Eclipse al español es tan fácil como ir a esta página, y coger el enlace correspondiente a nuestra versión de Eclipse (la versión Galileo aún no es la definitiva pero ya está disponible para su descarga aquí).
Abrimos Eclipse y accedemos a Help > Software Updates y accedemos a la pestaña Available Software, pulsamos Add Site… y ponemos el enlace de nuestra versión de Eclipse.
Ahora nos saldrá una nueva fuente como veis en la imagen, que si la desplegamos nos permitirá traducir nuestro Eclipse a varios idiomas, entre ellos el español.
Visto en: Ubuntulife
abril 3, 2009 Deja un comentario
Aparte de leer por teclado con la clase Scanner como expliqué aquí, con la cual podemos leer de una manera muy sencilla ya sea con el método .next() hasta que encuentra un espacio, o bien con .nextLine() toda la linea, podemos leer también ficheros de una forma muy fácil.
Lo primero será crear el fichero a leer, un txt en el que escribiremos varias lineas por ejemplo varios nombres con número que pueden indicar edad, todo separado por comas o con espacios, esos a nuestro gusto:
Manuel , 13 , 500, María, 50, 1000 Arturo, 35, 900
Lo primero será crearnos un File e indicamos la ruta del fichero que crearmos antes que llamamos “fichero.txt”, y luego un objeto Scanner al que le pasaremos el File (en vez de el System.in para leer por teclado), y finalmente cerraremos el fichero.
Además tendremos que capturar la expeción FileNotFoundException, por ejemplo con un try-catch:
try {
File fich = new File ("/ruta/fichero.txt");
Scanner scn = new Scanner (fich);
//aquí el bucle
scn.close();
}
catch (FileNotFoundException fnfe){
fnfe.printStackTrace();
}
Para leer las lineas nos valdremos de un bucle, en el que utilizaremos los métodos .hasNextLine() que nos dice si hay o no otra linea mediante un boolean y el metodo .nextLine() que nos devuelve dicha linea.
while (scn.hasNextLine()){
String linea = scn.nextLine();
System.out.println(linea);
}
Este método nos irá imprimiendo por consola las líneas que tenga el fichero.
Si queremos que nos divida los datos por espacios o por comas, o por lo que pongamos entre dato y dato.
Gracias al método .useDelimiter(), podremos añadir los elementos con los que delimitar la cadena, en este caso \\s se corresponde al espacio, y \\s* indica 0 o más espacios.
while (scn.hasNextLine()){
String linea = scn.nextLine();
Scanner sl = new Scanner(linea);
sl.useDelimiter("\\s*,\\s*");
System.out.println(sl.next());
System.out.println(sl.next());
System.out.println(sl.next());
}
marzo 29, 2009 2 comentarios
Ya os conté como hacerlo de una forma rápida y sencilla aquí, y ahora os cuento otra solución que se suele utilizar más en grandes proyectos.
La solución es generar un fichero .jar con el bytecode de nuestro proyecto, con la evidente pega de tener que recompilar y crear el jar si cambiamos algo en el proyecto que estamos intentando utilizar en otro.
Lo podemos hacer con los siguientes pasos:
marzo 26, 2009 2 comentarios
Importar clases dentro de un mismo proyecto es trivial, sólo tenemos que hacer un import elPaquete.laClase, y ya podremos crear objetos de las clases que se encuentran en el paquete que acabamos de importar.
Sin embargo, cuando intentamos importar entre distintos proyectos, veremos que no podemos hacerlo con este método, de hecho, no es trivial el cómo hacerlo.
Se puede hacer de dos formas, en esta entrada explico la primera y explicaré la otra en otra entrada
marzo 22, 2009 4 comentarios
Siempre es útil saber cambiar un número de una base a otra cuando programas, ya sea para pasarlo a binario, a decimal, a hexadecimal, o la base que quieras.
Aquí os dejo unas formas muy sencillas de hacer esto en Java.
Para este fin nos valdremos tan solo de la clase Integer, y los métodos parseInt y toString.
Lo explicaré con ejemplos. En el siguiente código, convertimos un número binario a decimal, declarándonos un int. Con el método parseInt, el primer parámetro será el número en binario (en forma de String), y en el siguiente, su base (2).
int a = Integer.parseInt("101", 2);
System.out.println (a);
El resultado por consola, será un 5.
Otro ejemplo de lo mismo:
int a = Integer.parseInt("11", 16);
System.out.println (a);
El número 11 en hexadecimal, es el 17 en decimal, que es lo que muestra por consola ese código. Esto es aplicable a cualquier base.
Con el método toString de la clase Integer, podremos convertir un número decimal a la base que queramos de forma muy similar al ejemplo anterior.
En este caso guardamos el resultado en un String, y pasamos como primer parámetro el número decimal, y como segundo la base a la que queremos convertirlo. El resultado por consola será el número decimal en la base indicada. Por ejemplo:
String b = Integer.toString(7, 2); System.out.println (b);
El número 7, en base binaria es el 111, que será el resultado por consola.
String c = Integer.toString(11, 16); System.out.println (c);
El número 11 en hexadecimal es la letra B.
Un método sencillísimo para convertir entre bases, tan sólo en una línea de código.
Saludos!
marzo 18, 2009 5 comentarios

Esta clase que se encuentra disponible desde Java 1.5, nos permite leer datos de una forma más sencilla que el clásico InputStream con un BufferedReader.
Para utilizarla tan solo tenemos que crearnos un objeto de tipo Scanner (importando previamente el paquete java.util.Scanner) e indicandole a este que lea de la consola con System.in. Nos quedaría lo siguiente:
Scanner pruebaScanner = new Scanner(System.in);
Una vez hecho esto sólo tenemos que utilizar la función .next , para leer por consola hasta que encuentre un retorno de carro y salto de linea. El valor lo guardaremos en un String.
String texto = pruebaScanner.next();
Con esto podríamos estar leyendo por teclado hasta que se introduzca una palabra determinada por ejemplo “fin”, utilizando un bucle while:
while (!texto.equals("fin")) {
texto = pruebaScanner.next();
System.out.println(texto);
}