当前位置:编程学习 > wap >>

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 ,

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,