Almacenamiento de información

Almacenamiento de información

Proporciona acceso a las opciones de almacenamiento del dispositivo.

Esta API ofrece opciones de almacenamiento basadas en dos diferentes especificaciones de W3C:

Cordova proporciona acceso a ambas interfaces para la minoría de los dispositivos que ya no los apoyan. De lo contrario se aplican las implementaciones integradas.

Métodos

Argumentos

Objetos

Acceso a la función

A partir de la versión 3.0, acceso a las API de almacenamiento está construido en Córdoba y no requiere usar la CLI para agregar plugins como se describe en la interfaz de línea de comandos.

Si usted está usando el mayor conjunto de herramientas de Córdoba que preceden a la CLI, los siguientes valores de configuración específicos de la plataforma están siendo necesarios:

Algunas plataformas que soportan esta característica sin necesidad de ninguna configuración especial. Ver soporte de plataforma para tener una visión general.


openDatabase

Devuelve un nuevo objeto de base de datos.

var dbShell = window.openDatabase(database_name, database_version, database_displayname, database_size);

Descripción

El método crea un nuevo SQL Database Lite y devuelve un objeto de Database que permite la manipulación de los datos.

Plataformas soportadas

Ejemplo rápido

var db = window.openDatabase("test", "1.0", "Test DB", 1000000);

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Storage Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Open Database</p>
  </body>
</html>

database_name

El nombre de la base de datos.


database_version

La versión de la base de datos.


database_displayname

El nombre de la base de datos de visualización.


database_size

El tamaño de la base de datos en bytes.


Base de datos

Proporciona acceso a una base de datos SQL.

Métodos

Detalles

El window.openDatabase() método devuelve un Database objeto.

Plataformas soportadas

Ejemplo rápida transacción

function populateDB(tx) {
    tx.executeSql('DROP TABLE IF EXISTS DEMO');
    tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}

function errorCB(err) {
    alert("Error processing SQL: "+err.code);
}

function successCB() {
    alert("success!");
}

var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);

Ejemplo rápido cambio versión

var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.changeVersion("1.0", "1.1");

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Storage Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
        db.transaction(populateDB, errorCB, successCB);
    }

    // Populate the database
    //
    function populateDB(tx) {
        tx.executeSql('DROP TABLE IF EXISTS DEMO');
        tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
    }

    // Transaction error callback
    //
    function errorCB(tx, err) {
        alert("Error processing SQL: "+err);
    }

    // Transaction success callback
    //
    function successCB() {
        alert("success!");
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Database</p>
  </body>
</html>

SQLTransaction

Permite la ejecución de sentencias SQL contra la base de datos.

Métodos

Detalles

El método de devolución de llamada especificado llamar método de un objeto de Database transacción, pasa un objeto SQLTransaction.

Plataformas soportadas

Ejecutar SQL ejemplo rápido

function populateDB(tx) {
    tx.executeSql('DROP TABLE IF EXISTS DEMO');
    tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}

function errorCB(err) {
    alert("Error processing SQL: "+err);
}

function successCB() {
    alert("success!");
}

var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Storage Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
        db.transaction(populateDB, errorCB, successCB);
    }

    // Populate the database
    //
    function populateDB(tx) {
        tx.executeSql('DROP TABLE IF EXISTS DEMO');
        tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
    }

    // Transaction error callback
    //
    function errorCB(err) {
        alert("Error processing SQL: "+err);
    }

    // Transaction success callback
    //
    function successCB() {
        alert("success!");
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>SQLTransaction</p>
  </body>
</html>

SQLResultSet

Cuando se llama al método de un objeto SQLTransaction executeSql la devolución de llamada especificado se ejecuta con un parámetro SQLResultSet.

Propiedades

Detalles

Cuando se llama al método de un objeto SQLTransaction executeSql la devolución de llamada especificado se ejecuta con un parámetro SQLResultSet que contiene tres propiedades:

Plataformas soportadas

Ejecutar SQL ejemplo rápido

function queryDB(tx) {tx.executeSql ('SELECT * de DEMO', [], querySuccess, errorCB);}

function querySuccess (tx, resultados) {console.log ("devuelve filas =" + results.rows.length);
    / / Esto será cierto ya que fue una instrucción select y rowsAffected fue 0 si (! results.rowsAffected) {console.log ('no hay filas afectadas!');
        devolver false;
    } / / para una instrucción insert, esta propiedad devuelve el ID de la última fila insertada console.log ("última inserta fila ID =" + results.insertId);}

function errorCB(err) {alert ("Error al procesar SQL:" + err.code);}

var db = window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
DB.Transaction (queryDB, errorCB);

Ejemplo completo

<!DOCTYPE html >< html >< cabeza >< título > almacenamiento ejemplo < / título >< de la escritura de tipo = "text/javascript" charset = "utf-8" src="cordova.js" >< / script >< de la escritura de tipo = "text/javascript" charset = "utf-8" > / / espera para que las bibliotecas del dispositivo API cargar / / document.addEventListener ("deviceready", onDeviceReady, false);

    / / Rellenar la base de datos / / function populateDB(tx) {tx.executeSql ('DROP TABLE IF EXISTS DEMO');
        tx.executeSql ('crear tabla si no existe DEMO (id único, data)');
        tx.executeSql (' introduzca en DEMO (identificación, datos) valores (1, "primera fila")');
        tx.executeSql ('introduzca en DEMO (identificación, datos) VALUES (2, "Segunda fila")');
    } / / Consulta la base de datos / / function queryDB(tx) {tx.executeSql ('SELECT * de DEMO', [], querySuccess, errorCB);
    } / / Consulta el callback de éxito / / function querySuccess (tx, resultados) {console.log ("devuelve filas =" + results.rows.length);
        / / Esto será cierto ya que fue una instrucción select y rowsAffected fue 0 si (! results.rowsAffected) {console.log ('no hay filas afectadas!');
            devolver false;
        } / / para una instrucción insert, esta propiedad devuelve el ID de la última fila insertada console.log ("última inserta fila ID =" + results.insertId);
    } / / Callback de error de transacción / / function errorCB(err) {console.log ("Error al procesar SQL:" + err.code);
    } / / Callback éxito de transacción / / function successCB() {var db = window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
        DB.Transaction (queryDB, errorCB);
    } / / dispositivo APIs están disponibles / / function onDeviceReady() {var db = window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
        DB.Transaction (populateDB, errorCB, successCB);
    } < /script >< / cabeza >< cuerpo >< h1 > ejemplo < / h1 >< p > base de datos < /p >< cuerpo / >< / html >

SQLResultSetRowList

Una de las propiedades de la SQLResultSet que contiene las filas devueltas desde una consulta SQL.

Propiedades

Métodos

Detalles

El SQLResultSetRowList contiene los datos devueltos de una instrucción SQL select. El objeto contiene una propiedad de longitud que indica cuántas filas devuelve la instrucción select. Para obtener una fila de datos, llame al método de item para especificar un índice. Devuelve un JavaScript Object cuyas propiedades son las columnas de la base de datos que la instrucción select fue ejecutada contra.

Plataformas soportadas

Ejecutar SQL ejemplo rápido

function queryDB(tx) {tx.executeSql ('SELECT * de DEMO', [], querySuccess, errorCB);}

function querySuccess (tx, resultados) {var len = results.rows.length;
        Console.log ("table DEMO:" len + "filas encontradas.");
        para (var i = 0; < len; i ++) {console.log ("fila =" + i + "ID =" + results.rows.item (i) .id + "datos =" + results.rows.item(i).data);
        errorCB(err) función}} {alert ("Error al procesar SQL:" + err.code);
    } var db = window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
    DB.Transaction (queryDB, errorCB);

Ejemplo completo

<!DOCTYPE html >< html >< cabeza >< título > almacenamiento ejemplo < / título >< de la escritura de tipo = "text/javascript" charset = "utf-8" src="cordova.js" >< / script >< de la escritura de tipo = "text/javascript" charset = "utf-8" > / / espera para que las bibliotecas del dispositivo API cargar / / document.addEventListener ("deviceready", onDeviceReady, false);

    / / Rellenar la base de datos / / function populateDB(tx) {tx.executeSql ('DROP TABLE IF EXISTS DEMO');
        tx.executeSql ('crear tabla si no existe DEMO (id único, data)');
        tx.executeSql (' introduzca en DEMO (identificación, datos) valores (1, "primera fila")');
        tx.executeSql ('introduzca en DEMO (identificación, datos) VALUES (2, "Segunda fila")');
    } / / Consulta la base de datos / / function queryDB(tx) {tx.executeSql ('SELECT * de DEMO', [], querySuccess, errorCB);
    } / / Consulta el callback de éxito / / function querySuccess (tx, resultados) {var len = results.rows.length;
        Console.log ("table DEMO:" len + "filas encontradas.");
        para (var i = 0; < len; i ++) {console.log ("fila =" + i + "ID =" + results.rows.item (i) .id + "datos =" + results.rows.item(i).data);
        }} / / Callback de error de transacción / / function errorCB(err) {console.log ("Error al procesar SQL:" + err.code);
    } / / Callback éxito de transacción / / function successCB() {var db = window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
        DB.Transaction (queryDB, errorCB);
    } / / dispositivo APIs están disponibles / / function onDeviceReady() {var db = window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
        DB.Transaction (populateDB, errorCB, successCB);
    } < /script >< / cabeza >< cuerpo >< h1 > ejemplo < / h1 >< p > base de datos < /p >< cuerpo / >< / html >

SQLError

Un objeto SQLError se produce cuando se produce un error.

Propiedades

Constantes

Descripción

El objeto SQLError se produce cuando se produce un error al manipular una base de datos.


localStorage

Proporciona acceso a de la W3C interfaz Web Storage

var permanentStorage = window.localStorage;
var tempStorage = window.sessionStorage;

Métodos

Detalles

La window.localStorage interfaz implementa del W3C interfaz Web Storage. Una aplicación puede utilizar para guardar los datos persistentes usando pares de clave y valor. La window.sessionStorage interfaz funciona del mismo modo en todos los sentidos, excepto que todos los datos se borra cada vez que la aplicación se cierra. Cada base de datos proporciona un espacio de nombre separado.

Plataformas soportadas

Ejemplo rápido clave

var keyName = window.localStorage.key(0);

Ejemplo rápido Item set

window.localStorage.setItem("key", "value");

Conseguir Item ejemplo rápido

    var value = window.localStorage.getItem("key");
    // value is now equal to "value"

Quitar elemento ejemplo rápido

    window.localStorage.removeItem("key");

Claro ejemplo rápido

    window.localStorage.clear();

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Storage Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        window.localStorage.setItem("key", "value");
        var keyname = window.localStorage.key(i);
        // keyname is now equal to "key"
        var value = window.localStorage.getItem("key");
        // value is now equal to "value"
        window.localStorage.removeItem("key");
        window.localStorage.setItem("key2", "value2");
        window.localStorage.clear();
        // localStorage is now empty
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>localStorage</p>
  </body>
</html>

Windows Phone 7 rarezas

Notación de puntos es no disponible en Windows Phone 7. Asegúrese de utilizar setItem o getItem , en lugar de acceder a las teclas directamente desde el objeto de almacenamiento, tales comowindow.localStorage.someKey.