# Almacenamiento

Para el almacenamiento de la información la opción más sencilla es utilizar el "`localStorage`", que es una característica nativa de HTML 5. Esta utilidad nos permitirá almacenar datos tipo cadena con el formato de pares "clave / valor", es decir, usaremos una clave para indexar cada uno de los valores.

Podemos utilizar esta herramienta utilizando JavaScript desde cualquier parte de nuestro código. Simplemente tendremos que usar la variable "`window.localStorage`" y una serie de métodos para almacenar, recuperar o eliminar la información:

```javascript
// Para almacenar utilizaremos el método "setItem"
// pasándole como parámetros la clave y el valor a almacenar:
window.localStorage.setItem(clave, valor);

// Para recuperar un valor utilizamos el método "getItem"
// pasándole como parámetro la clave del valor deseado:
var valor = window.localStorage.getItem(clave);

// Y para borrar el método removeItem y la clave:
window.localStorage.removeItem(clave);
```

Como podemos ver, esta herramienta nos permite almacenar nuestra información de forma muy sencilla, y además funcionará en todas las plataformas destino de Cordova. Como contrapartida podemos decir que solo permite almacenar cadenas (o datos serializados), que no es muy óptimo cuando queremos trabajar con muchos datos, y que tiene un límite de almacenamiento de 5Mb.

Como alternativa podemos recurrir a otra herramienta nativa como WebSQL o IndexedDB, que no tienen estas limitaciones ni desventajas de almacenamiento, pero que sin embargo no están soportadas en todas las plataformas. Una mejor alternativa cuando queremos una herramienta más potente para almacenar nuestros datos es utilizar un plugin como "cordova-sqlite-storage", como ya veremos en la sección sobre "Plugins".
