Stockage

Stockage

Donne accès aux options de stockage de l'appareil.

Cette API offre des options de stockage basées sur deux différentes spécifications de W3C :

Cordova permet de rejoindre les deux interfaces pour la minorité d'appareils qui ne supportent pas déjà eux. Les implémentations intégrées s'appliquerait par ailleurs.

Méthodes

Arguments

Objets

Accéder à la fonctionnalité

Depuis la version 3.0, l'accès aux API de stockage est intégré à Cordova et ne nécessite pas d'ajouter des plugins comme décrit dans l'Interface de ligne de commande à l'aide de la CLI.

Si vous utilisez l'ancienne ensemble d'outils de Cordova qui précèdent le CLI, les paramètres de configuration spécifiques à la plate-forme suivants sont toujours nécessaires :

Certaines plates-formes peuvent prendre en charge cette fonctionnalité sans nécessiter aucune configuration spéciale. Voir plate-forme prise en charge pour une vue d'ensemble.


openDatabase

Retourne un nouveau Database objet.

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

Description

La méthode crée une nouvelle base de données du Lite de SQL et retourne un Database objet permettant la manipulation des données.

Plates-formes prises en charge

Petit exemple

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

Exemple complet

<!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

Le nom de la base de données.


database_version

La version de la base de données.


database_displayname

Le nom complet de la base de données.


database_size

La taille de la base de données en octets.


Base de données

Donne accès à une base de données SQL.

Méthodes

Détails

La window.openDatabase() méthode retourne un Database objet.

Plates-formes prises en charge

Petit exemple de transaction

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);

Changement Version rapide exemple

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

Exemple complet

<!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

Permet l'exécution d'instructions SQL sur la base de données.

Méthodes

Détails

Appeler une Database méthode de transaction de l'objet, passe un SQLTransaction objet à la méthode de rappel spécifiée.

Plates-formes prises en charge

Exécuter SQL exemple rapide

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);

Exemple complet

<!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

Quand un SQLTransaction de l'objet executeSql est appelée, le callback spécifié s'exécute avec un SQLResultSet paramètre.

Propriétés

Détails

Quand un SQLTransaction de l'objet executeSql est appelée, le callback spécifié s'exécute avec un SQLResultSet paramètre contenant trois propriétés :

Plates-formes prises en charge

Exécuter SQL exemple rapide

function queryDB(tx) {tx.executeSql ("SELECT * de démo ', [], querySuccess, errorCB);}

function querySuccess (tx, résultats) {console.log ("retourner des lignes =" + results.rows.length) ;
    / / ce sera vrai puisqu'il s'agissait d'une instruction select et donc rowsAffected était 0 si (! results.rowsAffected) {console.log ("aucune lignes affectées!') ;
        retourne la valeur false ;
    } / / une instruction insert, cette propriété retourne l'ID de la dernière console.log ligne insérée ("inséré dernière ligne ID =" + results.insertId);}

function errorCB(err) {alert ("erreur lors du traitement SQL:" + err.code);}

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

Exemple complet

< !DOCTYPE html >< html >< tête >< titre > stockage exemple < / titre >< script type = "text/javascript" charset = "utf-8" src="cordova.js" >< / script >< script type = "text/javascript" charset = "utf-8" > / / attendre pour les bibliothèques de périphérique API charger / / document.addEventListener ("deviceready", onDeviceReady, false) ;

    / / Remplir la base de données / / function populateDB(tx) {tx.executeSql ("DROP TABLE IF EXISTS démo") ;
        tx.executeSql ("créer TABLE IF NOT existe démo (données uniques, id)") ;
        tx.executeSql (' insérer en démo (id, données) valeurs (1, "première ligne")') ;
        tx.executeSql ("insérer en démo (id, données) valeurs (2,"Seconde ligne")") ;
    } / / Interroger la base de données / / function queryDB(tx) {tx.executeSql ("SELECT * de démo ', [], querySuccess, errorCB) ;
    } / / Interroger le rappel réussi / / function querySuccess (tx, résultats) {console.log ("retourner des lignes =" + results.rows.length) ;
        / / ce sera vrai puisqu'il s'agissait d'une instruction select et donc rowsAffected était 0 si (! results.rowsAffected) {console.log ("aucune lignes affectées!') ;
            retourne la valeur false ;
        } / / une instruction insert, cette propriété retourne l'ID de la dernière console.log ligne insérée ("inséré dernière ligne ID =" + results.insertId) ;
    } / / Rappel erreur de transaction / / function errorCB(err) {console.log ("erreur lors du traitement SQL:" + err.code) ;
    } / / Rappel réussi de transaction / / function successCB() {var db = window.openDatabase ("Database", "1.0", "Cordova Demo", 200000) ;
        DB.transaction (queryDB, errorCB) ;
    } / / périphérique API sont disponibles / / function onDeviceReady() {var db = window.openDatabase ("Database", "1.0", "Cordova Demo", 200000) ;
        DB.transaction (populateDB, errorCB, successCB) ;
    } < /script >< / chef >< corps >< h1 > exemple < / h1 >< p > base de données < /p >< / body >< / html >

SQLResultSetRowList

Une des propriétés de le SQLResultSet contenant les lignes retournées par une requête SQL.

Propriétés

Méthodes

Détails

Le SQLResultSetRowList contient les données retournées à partir d'un SQL select déclaration. L'objet contient un length propriété indiquant combien de lignes le select instruction renvoie. Pour obtenir une ligne de données, appelez la item méthode pour spécifier un index. Elle retourne un JavaScript Object dont les propriétés sont les colonnes de base de données la select instruction a été exécutée dans.

Plates-formes prises en charge

Exécuter SQL exemple rapide

function queryDB(tx) {tx.executeSql ("SELECT * de démo ', [], querySuccess, errorCB);}

function querySuccess (tx, résultats) {var len = results.rows.length ;
        Console.log ("table de démo:" + len + « lignes trouvées. ») ;
        pour (var j'ai = 0; j'ai < len; i ++) {console.log ("ligne =" + i + "ID =" + results.rows.item (i) .id + "données =" + results.rows.item(i).data) ;
        }} function errorCB(err) {alert ("erreur lors du traitement SQL:" + err.code) ;
    } var db = window.openDatabase ("Database", "1.0", "Cordova Demo", 200000) ;
    DB.transaction (queryDB, errorCB) ;

Exemple complet

< !DOCTYPE html >< html >< tête >< titre > stockage exemple < / titre >< script type = "text/javascript" charset = "utf-8" src="cordova.js" >< / script >< script type = "text/javascript" charset = "utf-8" > / / attendre pour les bibliothèques de périphérique API charger / / document.addEventListener ("deviceready", onDeviceReady, false) ;

    / / Remplir la base de données / / function populateDB(tx) {tx.executeSql ("DROP TABLE IF EXISTS démo") ;
        tx.executeSql ("créer TABLE IF NOT existe démo (données uniques, id)") ;
        tx.executeSql (' insérer en démo (id, données) valeurs (1, "première ligne")') ;
        tx.executeSql ("insérer en démo (id, données) valeurs (2,"Seconde ligne")") ;
    } / / Interroger la base de données / / function queryDB(tx) {tx.executeSql ("SELECT * de démo ', [], querySuccess, errorCB) ;
    } / / Interroger le rappel réussi / / function querySuccess (tx, résultats) {var len = results.rows.length ;
        Console.log ("table de démo:" + len + « lignes trouvées. ») ;
        pour (var j'ai = 0; j'ai < len; i ++) {console.log ("ligne =" + i + "ID =" + results.rows.item (i) .id + "données =" + results.rows.item(i).data) ;
        }} / / Rappel erreur de transaction / / function errorCB(err) {console.log ("erreur lors du traitement SQL:" + err.code) ;
    } / / Rappel réussi de transaction / / function successCB() {var db = window.openDatabase ("Database", "1.0", "Cordova Demo", 200000) ;
        DB.transaction (queryDB, errorCB) ;
    } / / périphérique API sont disponibles / / function onDeviceReady() {var db = window.openDatabase ("Database", "1.0", "Cordova Demo", 200000) ;
        DB.transaction (populateDB, errorCB, successCB) ;
    } < /script >< / chef >< corps >< h1 > exemple < / h1 >< p > base de données < /p >< / body >< / html >

SQLError

A SQLError objet est levée lorsqu'une erreur survient.

Propriétés

Constantes

Description

Le SQLError objet est levée lorsqu'une erreur se produit lors de la manipulation d'une base de données.


localStorage

Fournit l'accès à de la W3C interface Web Storage

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

Méthodes

Détails

Le window.localStorage interface implémente du W3C stockage Web interface. Un soft il permet d'enregistrer des données persistantes à l'aide de paires clé-valeur. Le window.sessionStorage interface fonctionne de la même manière à tous les égards, sauf que toutes les données est effacé chaque fois que l'application se ferme. Chaque base de données fournit un espace de noms distinct.

Plates-formes prises en charge

Exemple rapide clé

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

Petit exemple Set point

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

Obtenir le point exemple rapide

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

Enlever Item exemple rapide

    window.localStorage.removeItem("key");

Exemple clair rapide

    window.localStorage.clear();

Exemple complet

<!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 Quirks

Notation par points est pas disponible sur Windows Phone 7. N'oubliez pas d'utiliser setItem ou getItem , plutôt que pour accéder aux touches directement à partir de l'objet de stockage, tels quewindow.localStorage.someKey.