phonegap 就不多做介绍了,在此你看到的文章的分类就略知其作用了。
本节介绍的phonegap的存贮的实现,比较奇怪的是我始终都没有找到其存储文件存放的目录在哪里,原本以为会在/data/data/app package/databases/ 其实不然,在stackoverflow,gmailgroup里面都提问了,尚未得到有效的答复。希望有经验的朋友能够在此留言告知于我,表示感谢!
其实就两个页面,实现CRUD的操作,so easy!
index.html
<!DOCTYPE html>
<html>
<head>
<title>Storage Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Populate the database
//
function populateDB(tx) {
//tx.executeSql('DROP TABLE IF EXISTS DEMO');
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id integer PRIMARY KEY autoincrement, title text,content text)');
//tx.executeSql('INSERT INTO DEMO (title,content) VALUES ("First row","first content")');
//tx.executeSql('INSERT INTO DEMO (title,content) VALUES ("Second row","second content")');
}
// Query the database
//
function queryDB(tx) {
tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
}
// Query the success callback
//
function querySuccess(tx, results) {
var len = results.rows.length;
var div = "<table>";
console.log("DEMO table: " + len + " rows found.");
for ( var i = 0; i < len; i++) {
console.log("Row = " + i + " ID = " + results.rows.item(i).id
+ " Data = " + results.rows.item(i).title);
div += "<tr><td>" + i + "</td>" + "<td>" + results.rows.item(i).id
+ "</td>" + "<td>" + results.rows.item(i).title + "</td>"
+ "<td>" + results.rows.item(i).content + "</td>"
+ "<td><a href='#' onclick='deletes("
+ results.rows.item(i).id + ");'>delete</a></td></tr>";
}
div += "</table>";
document.getElementById("div").innerHTML = div;
}
var index;
function deletes(index_) {
index = index_;
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(deletes_, errorCB, successCB);
}
function deletes_(tx) {
tx.executeSql('delete FROM DEMO where id = ' + index, [], querySuccess,
errorCB);
}
// Transaction error callback
//
function errorCB(err) {
console.log("Error processing SQL: " + err.code);
}
// Transaction success callback
//
function successCB() {
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(queryDB, errorCB);
console.log("Success processing SQL: ");
}
// Cordova is ready
//
function onDeviceReady() {
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
}
function display() {
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(queryDB, errorCB);
}
function search() {
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(search_, errorCB, querySuccess);
}
function search_(tx) {
var key = document.getElementById("keywords").value;
console.log("key: " + key);
tx.executeSql("SELECT * FROM DEMO where title like '%" + key + "%'",
[], querySuccess, errorCB);
}
</script>
</head>
<body>
<h1>Example</h1>
Database
[url=add.html]Add[/url]
<input name="keywords" id="keywords" placeholder="search something">
<input type="submit" onclick="search();" />
<div id="div"></div>
</body>
</html>
add.html
<!DOCTYPE html>
<html>
<head>
<title>Storage Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load
//
function inster(){
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(inster_, errorCB, successCB);
}
function inster_(tx){
var t = document.getElementById("title").value;
var c = document.getElementById("content").value;
tx.executeSql("INSERT INTO DEMO (title,content) VALUES ('"+t+"','"+c+"')");
}
// Transaction error callback
//
function errorCB(err) {
console.log("Error processing SQL: "+err.code);
}
// Transaction success callback
//
function successCB() {
console.log("Success processing SQL: ");
}
</script>
</head>
<body>
<h1>Example</h1>
Database - Add
Title:
<input type="text" id="title"/>
Content:
<input type="text" id="content"/>
<input type="submit" id="submit" value="submit" onclick="inster();"/>
</body>
</html>
代码较为简单就不多做介绍了,附件中含工程源码。遇到问题敬请留言。
分享到:
相关推荐
HTML5则是下一代超文本标记语言,它引入了许多新特性,如离线存储(Web Storage)、拖放功能(Drag and Drop)、媒体元素(Audio/Video)以及用于图形绘制的Canvas和矢量图形SVG等。对于移动应用来说,尤其重要的是...
PhoneGap - API 中文说明 Accelerometer 加速度计 Camera 相机 Capture 捕捉 Compass 指南针 Contacts 联系人 Device 设备 Events 活动 File 文件 Geolocation 地理位置 Media 媒体 Network 网络 Notification 通知...
PhoneGap - API 中文说明 Accelerometer 加速度计 Camera 相机 Capture 捕捉 Compass 指南针 Contacts 联系人 Device 设备 Events 活动 File 文件 Geolocation 地理位置 Media 媒体 Network 网络 Notification 通知...
科尔多瓦的厨房水槽/样板-PhoneGap-Babel-React-Hotloader-Webpack-Framework7-Firestore-FontAwesome 具有原生外观的即用型混合移动应用程序的模板。 预习 安卓 的iOS 工具类 参见下文 编译为iOS和Android应用 ...
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ``` 3. **JavaScript接口**:在你的JavaScript代码中,你可以使用`navigator.camera`对象提供的方法来调用相机。例如,`...
科尔多瓦-sqlite-storage-js Javascript库可轻松使用cordova-sqlite-storage插件 配置 var db_config = { name : 'your_db_name.db' , location : 'default' } ; 用法 db_query function success_callback ( ) {...
Amazon Simple Storage Service (S3) 是一种可扩展的云存储服务,可以用来存放和检索任何数量的数据,无论何时何地。S3 提供了高可用性和耐用性,并且支持多种数据安全措施,包括加密和访问控制策略。 **上传流程**...
适用于Cordova / PhoneGap的跨平台SQLite存储插件-cordova-sqlite-storage插件版本 具有基于HTML5 / 的本机SQLite组件,适用于以下平台: 浏览器 安卓 的iOS macOS(“ osx”平台) Windows 10(UWP)桌面和移动...
5. **Web Workers和Web Storage**: 提高了多线程处理能力和数据存储能力,优化了移动应用的性能。 **CSS3** 1. **选择器增强**: CSS3引入了更强大的选择器,如伪类选择器`:hover`, `:active`, `:focus`等,以及新...
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android....
和localstorage差不多,但是这个有过期时间,时间过期后会移除缓存的内容,在过期前关闭浏览器和页面都不会导致缓存内容被移除。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> ``` 完成以上步骤后,您就已经成功创建了一个基本的PhoneGap Android项目。接下来可以通过Eclipse进行项目的编译、调试和发布工作。...
1. **HTML5**:作为用户界面的基础,HTML5提供了许多增强的交互元素和数据存储功能,如离线存储(Web Storage)和本地数据库(Web SQL或IndexedDB),这些都是构建现代移动应用的关键。 2. **CSS3**:用于美化和...
PhoneGap打开文档插件是移动应用开发中的一个重要组件,它允许开发者在PhoneGap应用程序中方便地查看和打开各种类型的文档。PhoneGap是一个基于HTML、CSS和JavaScript的框架,用于构建跨平台的原生移动应用。它利用...
3. **处理权限**:由于涉及到文件下载和安装,可能需要在AndroidManifest.xml中添加相应的权限声明,例如`INTERNET`和`WRITE_EXTERNAL_STORAGE`。 4. **处理Android 7.0+的安装限制**:Android 7.0引入了后台安装...
4. **本地存储**:PhoneGap提供了SQLite数据库和Web Storage等本地存储方式,用于在离线情况下保存数据。 5. **构建与调试**:源码可能还包括构建脚本,展示了如何使用PhoneGap CLI或PhoneGap Build服务将项目打包为...
5. **存储管理**:PhoneGap提供了Web Storage(localStorage和sessionStorage)以及SQLite数据库的支持,用于在本地存储应用数据。这些存储方式可以处理结构化的数据,且不会因浏览器关闭而丢失。 6. **通知与推送*...
2. 资源管理:利用HTML5的本地存储机制(如Web Storage或IndexedDB)来保存数据,或者使用PhoneGap的File API进行文件操作。 3. 设备访问:通过PhoneGap的设备API,如accelerometer、camera、geolocation等,可以...