J'ai fait une application récemment que nécessaire ce, viser le même OS. Vous pouvez utiliser une combinaison de 2 bases de données :
1. LocalStorage ::
Vérifier localStorage
function supports_html5_storage() {
try {
return 'localStorage' in window && window['localStorage'] !== null;
} catch (e) {
return false;
}
}
Définir un élément dans LocalStorage
localStorage.setItem("bar", foo);
ou
localStorage["bar"] = foo;
Obtenir un élément de LocalStorage
var foo = localStorage.getItem("bar");
ou
var foo = localStorage["bar"];
2. La Base de données SQLite (plus pratique, plus persistive)
Configurer votre base de données
var shortName = 'BHCAppDB';
var version = '1.0';
var displayName = 'BHCAppDB';
var maxSize = 65535;
if (!window.openDatabase){
alert('!! Databases are not supported in this Device !! \n\n We are sorry for the inconvenience and are currently working on a version that will work on your phone');
}
db = openDatabase(shortName, version, displayName,maxSize);
createAllTables(db);
Créer vos Tables
function createAllTables(db){
db.transaction(function(transaction){
transaction.executeSql("CREATE TABLE IF NOT EXISTS Profile(id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT, gender TEXT,age INTEGER)");
}
Exécuter une Requête SQL
transaction(function(transaction){
var rowCount = 'SELECT * FROM Profile';
transaction.executeSql(rowCount,[],function(transaction,result){
if(result.rows.length == 0){
var sqlString = 'INSERT INTO Profile (name,gender,age) VALUES("自己","Female",18)';
transaction.executeSql(sqlString);
}
});
});
EDIT :: j'ai oublié d'ajouter dans la dernière option :)
3. Stockage natif sur tous les appareils
C'est la meilleure partie de Phonegap. Vous pouvez faire appel à un natif classe de plugin sur tous les appareils utilisant le plugin Phonegap appel. Pendant l'appel, vous pouvez passer des paramètres à la classe, et la classe native pouvez stocker vos données dans le système d'exploitation lui-même.
Par exemple : dans iOS, vous devez créer un plugin .h & .m classe et l'enregistrer avec le Cordova.fichier plist. Une fois cela fait, vous avez besoin d'envoyer un appel à la classe à partir de JavaScript à l'aide de Phonegap. Une fois que les paramètres ont été reçues à l'aide de NSDictionary ou de tout autre NSArray type, vous pouvez faire appel à un CoreData classe pour stocker des quantités ILLIMITÉES de données. Vous ne serez jamais à court de mémoire .
Cela peut être fait de la même façon pour tout le reste de l'OS, aussi :)
Pour le Chiffrement, essayez les opérations suivantes :: SQLCipher
Voici quelques informations supplémentaires sur la façon de travailler avec une base de données SQLite. Dans cet exemple chiffré.db, c'est que la marque nouvelle base de données que vous créez et pragma.
ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'secret'; -- create a new encrypted database
CREATE TABLE encrypted.t1(a,b); -- recreate the schema in the new database (you can inspect all objects using SELECT * FROM sqlite_master)
INSERT INTO encrypted.t1 SELECT * FROM t1; -- copy data from the existing tables to the new tables in the encrypted database
DETACH DATABASE encrypted;