在android环境下使用phonegap操作sqlite,代码见附件。
效果图:
(function(){ $('#main').live('pageshow',function(){ $('#createBtn').bind('click',function(){ create('test','1.0','testDb',1000000); }); $('#DropBtn').bind('click',function(){ dropTable('DEMO','test','1.0','testDb',1000000); }); $('#selectBtn').bind('click',function(){ select('test','1.0','testDb',1000000); }); $('#insertBtn').bind('click',function(){ $('#addWindow').popup('open'); }); $('#saveBtn').bind('click',onSaveBtnClick); $('#deleteBtn').bind('click',onDeleteBtnClick); }); function onSaveBtnClick(){ var id = $('#idfield').val(); var data = $('#datafield').val(); if(id!=''&& data!=''){ var db = getDb('test','1.0','testDb',1000000); db.transaction(function(tx){ tx.executeSql('INSERT INTO DEMO (id, data) VALUES (?, ?)', [id,data]); }, errorCB, function(){ $('#addWindow').popup('close'); alert('新增成功'); $('#selectBtn').trigger('click'); $('#msgdiv').empty(); $('#idfield').val(''); $('#datafield').val(''); }); }else{ $('#msgdiv').text('请输入id和data!!'); } } function onDeleteBtnClick(){ var db = getDb('test','1.0','testDb',1000000); db.transaction(function(tx){ tx.executeSql('DELETE FROM DEMO'); }, errorCB, function(){ alert('成功删除全部记录!'); $('#resultList > tbody').empty(); }); } function getDb(dbName,dbVersion,dbDisplayname,dbSize){ return window.openDatabase(dbName, dbVersion,dbDisplayname, dbSize); } function select(dbName,dbVersion,dbDisplayname,dbSize){ var db = getDb(dbName,dbVersion,dbDisplayname,dbSize); db.transaction(queryDB, errorCB); } function dropTable(tableName,dbName,dbVersion,dbDisplayname,dbSize){ var db = getDb(dbName,dbVersion,dbDisplayname,dbSize); db.transaction(function(tx){ tx.executeSql('DROP TABLE IF EXISTS '+tableName); }, errorCB,function(){ alert('删除成功,tableName='+tableName); $('#resultList > tbody').empty(); }); } function queryDB(tx) { $('#resultList > tbody').empty(); tx.executeSql('SELECT * FROM DEMO', [], function (tx, results) { var len = results.rows.length; var html = []; for (var i=0; i<len; i++){ var rs = results.rows.item(i); html.push('<tr style="background:#ccc;color:#0066FF;"><td>'+rs.id+'</td><td>'+rs.data+'</td></tr>'); } $('#resultList > tbody').append($(html.join(''))); },errorCB); } function create(dbName,dbVersion,dbDisplayname,dbSize){ var db = getDb(dbName,dbVersion,dbDisplayname,dbSize); db.transaction(function(tx){ tx.executeSql('DROP TABLE IF EXISTS DEMO'); 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")'); tx.executeSql('INSERT INTO DEMO (id, data) VALUES (3, "Phonegap sqlite测试")'); }, errorCB, function(){ alert('创建成功,dbName='+dbName); $('#selectBtn').trigger('click'); }); } function errorCB(err) { alert("Error processing SQL: "+err.code); } })();
相关推荐
此外,还可以使用PhoneGap的插件功能来增强应用的功能,比如使用Local Storage或SQLite存储用户信息,或者通过Notification插件显示登录结果。 标签中的“plugins”指的是PhoneGap插件,它们是PhoneGap应用程序与...
在这个基于PhoneGap的Android电话本源码中,开发者利用了PhoneGap的强大功能,创建了一个能够与手机系统电话本进行交互的应用。 首先,让我们深入了解PhoneGap的工作原理。PhoneGap通过WebView组件将Web应用程序与...
本教程将详细介绍如何使用PhoneGap在Android平台上实现一个新闻客户端,同时连接到MySQL数据库。 首先,我们需要了解PhoneGap的核心概念。PhoneGap提供了一种封装机制,将Web应用程序打包为原生应用,利用WebView...
本文将深入探讨如何利用PhoneGap结合SQLite数据库来实现离线存储和访问功能。 一、PhoneGap环境搭建 在Android平台上建立PhoneGap环境是实现离线功能的第一步。首先,你需要从PhoneGap官网下载最新的开发包,例如...
1. **跨平台开发**:PhoneGap基于Apache Cordova,能够构建在iOS、Android、Windows Phone等多个平台上运行的应用程序,只需编写一次代码,即可在多个设备上部署。 2. **WebView**:PhoneGap应用实际上是在一个封装...
PhoneGap支持使用SQLite数据库进行本地数据存储,以及使用Ajax进行HTTP请求与服务器通信。开发者需要理解如何操作这些功能,以便实现应用的数据管理和网络交互。 用户界面的构建和响应式设计是另一个关键环节。使用...
5. **存储管理**:PhoneGap提供了Web Storage(localStorage和sessionStorage)以及SQLite数据库的支持,用于在本地存储应用数据。这些存储方式可以处理结构化的数据,且不会因浏览器关闭而丢失。 6. **通知与推送*...
在 PhoneGap 应用中,SQLite 通常作为本地数据存储的解决方案,特别是在需要离线数据存储或大量数据处理时。 "sqlitetest" 项目是为了测试 PhoneGap 应用中 SQLite 的功能和性能。这个测试可能包括创建数据库、插入...
PhoneGap的核心理念是通过Web技术实现多平台的兼容性,将网页应用转换为能够在iOS、Android、Windows Phone等平台上运行的原生应用。这个“最新phonegap插件集合”应该是包含了一系列适用于PhoneGap开发的最新插件,...
3. 本地存储:PhoneGap支持Web Storage(包括localStorage和sessionStorage)以及SQLite数据库。通过`chapter9b.html`,我们可以学习如何在应用中持久化数据,如使用`window.localStorage`或`window.openDatabase()`...
PhoneGap支持多种操作系统,包括iOS、Android、Windows Phone、BlackBerry、HP webOS、Symbian和Bada。然而,不同平台的SDK并不相同。例如,iOS使用Objective-C的SDK,而Android使用的是Java的JAR包。尽管如此,...
具有额外功能的Cordova / PhoneGap sqlite存储适配器 具有基于HTML5 / 的本机SQLite组件,适用于以下平台: 安卓 的iOS macOS(“ osx”平台) Windows 10(UWP)桌面和手机(有关主要限制,请参见下文) 许可:...
总结来说,PhoneGap 结合 SQLite 实现离线功能的技术流程主要包括:构建 PhoneGap 环境,通过 AJAX 获取并解析 JSON 数据,使用 PhoneGap 的 SQLite API 存储数据,以及在离线状态下从数据库中读取数据并更新 UI。...
PhoneGap为Android开发者提供了一种使用Web技术进行开发的新途径。 2. **iOS**:Apple 的移动操作系统,适用于iPhone、iPad等设备。PhoneGap通过WebKit引擎让JavaScript与iOS设备的硬件交互。 3. **BlackBerry**:...
4. **本地资源访问**:PhoneGap允许开发者访问设备的文件系统,存储和读取数据,同时也能调用设备的数据库功能,如SQLite,用于本地数据存储。 5. **事件处理**:PhoneGap 2.9.1支持设备生命周期事件,例如设备就绪...
PhoneGap是一款基于HTML、CSS和JavaScript的技术栈,允许开发者构建适用于多个移动操作系统(如iOS、Android等)的应用程序。 #### 二、PhoneGap API功能模块概述 PhoneGap API提供了丰富的功能模块来扩展HTML、CSS...
这个实例可能包含了一系列的DEMO项目,用于演示PhoneGap在Android和iOS平台上实现各种功能的可能性。 首先,让我们深入了解一下PhoneGap的核心概念。PhoneGap通过一个中间层将Web应用与设备的硬件功能连接起来,如...
- **实例5:本地存储**:PhoneGap提供了Web Storage(localStorage和sessionStorage)和SQLite数据库,用于在离线状态下存储数据。这个实例将介绍如何使用这些存储机制保存和读取数据。 5. **打包与部署**:完成...
1. **跨平台支持**:PhoneGap 0.9.6支持iOS、Android、BlackBerry、Windows Phone等主流移动操作系统,使得开发者只需要编写一次代码,就能在多个平台上运行。 2. **设备API**:包括访问设备的文件系统、网络连接、...