PhoneGap API中文帮助文档——Storage(存储)
提供对设备的存储选项的访问。
此API基于W3C WEB SQL Database Specification和W3C Web Storage API Specification。有些设备已经提供了对该规范的实现,对于这些设备采用内置实现而非使用PhoneGap的实现。对于没有存储支持的设备,PhoneGap的实现应该是完全兼容W3C规范。
方法:
openDatabase
参数:
name
version
display_name
size
对象:
Database
SQLTransaction
SQLResultSet
SQLResultSetList
SQLError
localStorage
openDatabase
返回一个新的Database对象。
var dbShell = window.openDatabase(name, version, display_name, size);
复制代码
说明:
window.openDatabase返回一个新的Database对象。
该方法将创建一个新的SQL Lite数据库,并返回该Database对象。可使用该Database对象操作数据。
支持的平台:
Android
BlackBerry WebWorks (OS 6.0或更高版本)
iPhone
简单的范例:
var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
复制代码完整的范例:
<!DOCTYPE html>
<html>
<head>
<title>Contact Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加载完毕
function onDeviceReady() {
var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
}
</script>
</head>
<body>
<h1>Example</h1>
<p>Open Database</p>
</body>
</html>
复制代码name
数据库的名称。
version
数据库的版本号。
display_name
数据库的显示名。
size
以字节为单位的数据库大小。
Database
包含允许用户操作数据库的方法。
方法:
transaction:运行一个数据库事务。
changeVersion:该方法允许脚本执行以下原子操作:校验数据库的版本号并更新版本号以完成架构更新。
详述:
调用window.openDatabase()将返回一个Database对象。
支持的平台:
Android
BlackBerry WebWorks (OS 6.0或更高版本)
iPhone
Transaction 的简单范例:
function populateDB(tx) {
tx.executeSql('DROP TABLE DEMO IF EXISTS');
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", "PhoneGap Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
复制代码
Change Version的简单范例:
var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
db.changeVersion("1.0", "1.1");
复制代码完整的范例:
<!DOCTYPE html>
<html>
<head>
<title>Contact Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加载完毕
function onDeviceReady() {
var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
}
// 填充数据库
function populateDB(tx) {
tx.executeSql('DROP TABLE DEMO IF EXISTS');
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(tx, err) {
alert("Error processing SQL: "+err);
}
// 事务执行成功后调用的回调函数
function successCB() {
alert("success!");
}
</script>
</head>
<body>
<h1>Example</h1>
<p>Database</p>
</body>
</html>
复制代码
Android 1.X 的特异情况:
changeVersion:Android 1.X设备不支持此方法。
SQLTransaction
包含允许用户对Database对象执行SQL语句的方法。
方法:
executeSql:执行一条SQL语句。
详述:
当你调用Database对象的transaction方法后,其回调函数将被调用并接收一个SQLTransaction对象。用户可以通过多次调用executeSql来建立一个数据库事务处理。
支持的平台:
Android
BlackBerry WebWorks (OS 6.0或更高版本)
iPhone
Execute SQL的简单范例:
function populateDB(tx) {
tx.executeSql('DROP TABLE DEMO IF EXISTS');
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", "PhoneGap Demo", 200000);
补充:移动开发 , IOS ,