Jose Hernández

Leer XML en Android

Leer ficheros XML en Android es una tarea con la que posiblemente nos enfrentemos bastante a menudo, ya sea porque creamos nosotros mismos esos ficheros para almacenar datos, porque lo obtenemos de un servicio web o de cualquier otra forma. Android nos proporciona tres formas para poder enfrentarnos a esta tarea: XMLPull, SAX y DOM. En esta entrada vamos a ver como podemos leer un fichero XML con DOM. Para comenzar lo primero que necesitamos es un fichero XML así que aquí pongo un ejemplo del fichero que vamos a leer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<libros>
    <libro>
        <titulo>La última cripta</titulo>
        <autor>Fernando Gamboa González</autor>
        <precio>0,98</precio>
    </libro>
    <libro>
        <titulo>Cincuenta sombras de Grey</titulo>
        <autor>E.L. James</autor>
        <precio>9,49</precio>
    </libro>
    <libro>
        <titulo>Cincuenta sombras más oscuras</titulo>
        <autor>E.L. James</autor>
        <precio>9,49</precio>
    </libro>
    <libro>
        <titulo>London</titulo>
        <autor>Rutherfurd Edward</autor>
        <precio>4,74</precio>
    </libro>
    <libro>
        <titulo>Cincuenta sombras liberadas</titulo>
        <autor>E.L. James</autor>
        <precio>9,49</precio>
    </libro>
    <libro>
        <titulo>Muerte sin resurección</titulo>
        <autor>Roberto Martínez Guzmán</autor>
        <precio>0,98</precio>
    </libro>
    <libro>
        <titulo>Defender a Jacob</titulo>
        <autor>Willam Landay</autor>
        <precio>9,02</precio>
    </libro>
    <libro>
        <titulo>Nunca fuimos a Katmandú</titulo>
        <autor>Lola Mariné</autor>
        <precio>0,98</precio>
    </libro>
    <libro>
        <titulo>La noche más oscura</titulo>
        <autor>Gena Showalter</autor>
        <precio>5,51</precio>
    </libro>
    <libro>
        <titulo>El asesino de la Vía Láctea</titulo>
        <autor>Gabriel Martínez</autor>
        <precio>0,89</precio>
    </libro>
</libros>

Este fichero contiene 10 libros de los cuales tenemos su título, su autor y su precio. Supongamos que este fichero lo tenemos en la carpeta raw de nuestro proyecto y su nombre es libros.xml. Como ya sabemos cual va a ser la información con la que vamos a trabajar, nos creamos una clase a la que llamaremos Libro para almacenar los datos de cada libro.

Leer más

Plantillas en Node.js

Siguiendo con la serie de entradas que estoy haciendo sobre Node.js, ahora es el turno para trabajar con plantillas y poder crear nuestro contenido html de una forma más rápida y sencilla de lo que hemos visto hasta ahora. Existen varios motores de plantillas para Node como son: Haml, CofeeKup, Jade, EJS, jQuery Templates y algunos otros. En esta entrada me voy a centrar en trabajar con Jade que es el motor de plantillas más popular para Node y muy fácil de usar.

Para comenzar tenemos que tener Node instalado en nuestro ordenador (si no lo tienes puedes darle un vistazo a la entrada de Introducción a Node.js), a continuación creamos una carpeta donde queramos almacenar el proyecto, abrimos un terminal y vamos hacia esa ruta. Una vez en ella vamos a instalar todas las librerías con las que vamos a trabajar, estás serán Express (que vimos en la entrada de gestión de rutas con Node.js) y Jade. Para ello tecleamos en el terminal lo siguiente:

> npm install express

Y cuando finalice la instalación de express:

> npm install jade

Nuestro directorio de trabajo contendrá ahora una carpeta llamada node_modules donde estarán guardados esos módulos que acabamos de instalar. Continuaremos creando los diferentes directorios que tendrá nuestro proyecto para tenerlo todo organizado desde el principio. Así pues, vamos a crear un nuevo directorio que llamaremos views donde almacenaremos las plantillas creadas y otro directorio llamado public donde pondremos todo el contenido estático como son ficheros JavaScript para el cliente, ficheros CSS, imágenes…

Con nuestro directorio de trabajo completamente creado, ahora es el turno de comenzar a escribir código, en el directorio raíz vamos a crear un fichero al que llamaremos server.js. Lo primero que vamos a hacer en él es crear la configuración para que Node use correctamente tanto Express como Jade, para ello escribimos el siguiente contenido:

Leer más

Gestión de rutas en Node.js

Como vimos en la introducción a Node.js de una forma muy sencilla podemos construir un servidor web y proporcionar una respuesta con este framework. A continuación vamos a mejorarlo permitiendo utilizar rutas amigables. Para ello lo primero que vamos a necesitar es instalarnos el paquete express que nos proporcionará herramientas para poder realizar esta tarea fácilmente. Gracias al gestor de paquetes que incorpora Node, podemos instalar express de una manera muy sencilla. Accedemos a un terminal y navegamos hasta el directorio en el que estemos trabajando, una vez en él tecleamos lo siguiente:

> npm install express

Cuando finalice la descarga se instalará automáticamente y ya podemos comenzar a trabajar con él. Si nos fijamos atentamente, se nos habrá creado una carpeta llamada node_module y dentro de ella tendremos instalado express.

El primer paso que vamos a hacer es crear un servidor web, para ello creamos un fichero al que llamaremos server.js y su contenido será el siguiente:

Leer más

Introducción a Node.js

Node.js es una plataforma de desarrollo construida en base al motor JavaScript de Chrome. Node nace con el objetivo de facilitar la creación de aplicaciones que sean fácilmente escalables en la red. Utiliza un modelo orientado a eventos no bloqueante, lo que quiere decir, que atiende paralelamente a todas las peticiones que recibe. Gracias a esto, node es ideal para utilizarse en aplicaciones que tienen un uso intensivo de datos en tiempo real.

Para trabajar con Node.js necesitamos saber JavaScript, ya que toda la programación se realizará con este lenguaje. Para comenzar a desarrollar, lo primero que necesitamos es descargarnos Node. Existen versiones para Windows y Mac, así como la posibilidad de descargar los fuentes para compilarlo. Los usuarios de Linux tendrán que comprobar si existe el paquete en los repositorios de su distribución o en caso contrario descargar los fuentes.

Una vez descargado e instalado crearemos nuestro primer servidor web. Para ello vamos a crear un fichero llamado servidor.js. En este fichero pondremos el siguiente código:

Leer más

Personalizar ListView en Android

Llevo un tiempo trabajando con Android y aprendiendo a desarrollar software para esta plataforma, así que creo que ya es momento de comenzar a realizar algunas entradas sobre Android. Para comenzar vamos a ver como personalizar un ListView.

Android nos proporciona por defecto un par de estilos para los items que aparecerán dentro de un ListView. Pero si queremos personalizarlo más, no tenemos otra alternativa que programarlo nosotros mismos. Aunque pueda parecer una tarea compleja es bastante sencillo realizar esta personalización. Supongamos que queremos que los items sean como la siguiente imagen:

Android ListView Item

Leer más

Valores autoincrementables en Oracle

Si habitualmente sueles trabajar con bases de datos MySQL, pero en un proyecto determinado te dicen que tienes que usar Oracle, uno de los primeros problemas que te surge es como hacer que las claves primarias de tus tablas tenga un valor autoincrementable. Oracle no posee la propiedad de columnas autoincrementables, la solución que nos proporciona para conseguir este resultado son las secuencias.

Las secuencias proporcionan una lista consecutiva de números, de forma que cada vez que solicitemos un número a la secuencia nos devolverá su número actual y posteriormente incrementará su contador para proporcionar un número distinto la próxima vez que se le solicite.

Leer más