Cordova本地持久化数据的两种方式:
(1)Cordova调用移动端本地SQLite数据库。
(2)window.localStorage通过键值对方式持久化数据。
1.数据库持久化数据
//新建一个数据库,名为myNewDatase
var myNewDatase = window.openDatabase("Database","1.0","My Test Demo",200000);
//对数据库进行操作
myNewDatase.transaction(populateDB,error,success);
//对数据库做操作
function populateDB(tx) {
//如果表MYDEMO已经存在将它删除
tx.executeSql('DROP TABLE IF EXISTS MYDEMO');
//创建一个表名为MYEDOM的新表,其中包括俩字段id和data
tx.executeSql('CREATE TABLE IF NOT EXISTS MYDEMO (id unique,data)');
//向表中插入一组数据
tx.executeSql('INSERT INTO MYDEMO (id,data) VALUES (1,"First")');
//再插一条数据
tx.executeSql('INSERT INTO MYDEMO (id,data) VALUES (2,"Second")');
}
//操作失败
function error(tx,err) {
alert("数据库操作失败"+err+tx);
}
//操作成功
function success() {
//打开数据库
var myNewDatase = window.openDatabase("Database","1.0","My Test Demo",200000);
//对数据库执行操作
myNewDatase.transaction(querydb,error);
}
//执行查询命令
function querydb(tx) {
//查询表MYDEMO中的全部内容
tx.executeSql('SELECT * FROM MYDEMO',[],querySuccess,error);
}
//查询成功
function querySuccess(tx,results) {
//记录读取内容
var str = "";
//数据库中数据条数
var len = results.rows.length;
str = "共有:"+len+"条记录,分别是"+"\n";
//遍历数据库中读取记录
for (var i=0;i<len;i++){
str = str+"行数为"+i+"ID:"+results.rows.item(i).id+"内容"+results.rows.item(i).data+"\n";
}
//显示读取内容
alert(str);
}
1.window.localStorage存储
//写入数据
function insertData() {
//设置key对应的值为:"本地存储"
window.localStorage.setItem("key","本地存储");
//通过key取出对应的内容
var value = window.localStorage.getItem("key");
alert("取出来的值为:"+value);
}
//清除数据
function deleData() {
window.localStorage.clear();
var value = window.localStorage.getItem("key");
alert("删除之后值为:"+value);
}
//本地存储值
window.localStorage.setItem(“key”,”value”);
//通过key取出对应的内容
var value = window.localStorage.getItem("key");
//将全部键值对清除
window.localStorage.clear();
//清除对应key的值
window.localStorage.removeItem("key");
网友评论