`
czpae86
  • 浏览: 720643 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

phonegap sqlite (android)

阅读更多

在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);
	}
})();

 

  • 大小: 54 KB
  • 大小: 53.3 KB
  • 大小: 54.4 KB
2
0
分享到:
评论
5 楼 gcx123456789 2014-12-10  
楼主,请问一下,sqlite文件怎么一起打包进app
4 楼 bqlin1987 2014-03-13  
gxz1989611 写道
请问博主,这个sqlite是不是集成在移动终端的浏览器上的吧?如果这样,升级手机app会不会造成这个sqlite数据丢失?

這個要看你創建DB時的那個條件,如createDatabaseIfNotExist=true,是不會弄丟原來的DB
3 楼 gxz1989611 2014-01-02  
请问博主,这个sqlite是不是集成在移动终端的浏览器上的吧?如果这样,升级手机app会不会造成这个sqlite数据丢失?
2 楼 lele140 2013-05-06  
功能很好,我好奇的是 创建的 testDb 存放目录是哪里?我是在PC机器上 chrome测试的。
1 楼 bqlin1987 2013-01-30  
Good!

相关推荐

    phoneGap实现android平台登录例子

    此外,还可以使用PhoneGap的插件功能来增强应用的功能,比如使用Local Storage或SQLite存储用户信息,或者通过Notification插件显示登录结果。 标签中的“plugins”指的是PhoneGap插件,它们是PhoneGap应用程序与...

    基于phonegap的android电话本源码

    在这个基于PhoneGap的Android电话本源码中,开发者利用了PhoneGap的强大功能,创建了一个能够与手机系统电话本进行交互的应用。 首先,让我们深入了解PhoneGap的工作原理。PhoneGap通过WebView组件将Web应用程序与...

    phoneGap实现android平台应用

    本教程将详细介绍如何使用PhoneGap在Android平台上实现一个新闻客户端,同时连接到MySQL数据库。 首先,我们需要了解PhoneGap的核心概念。PhoneGap提供了一种封装机制,将Web应用程序打包为原生应用,利用WebView...

    使用PhoneGap实现离线功能【技术文档】

    本文将深入探讨如何利用PhoneGap结合SQLite数据库来实现离线存储和访问功能。 一、PhoneGap环境搭建 在Android平台上建立PhoneGap环境是实现离线功能的第一步。首先,你需要从PhoneGap官网下载最新的开发包,例如...

    PHONEGAP入门经典源码

    1. **跨平台开发**:PhoneGap基于Apache Cordova,能够构建在iOS、Android、Windows Phone等多个平台上运行的应用程序,只需编写一次代码,即可在多个设备上部署。 2. **WebView**:PhoneGap应用实际上是在一个封装...

    中文Phonegap开发大全

    PhoneGap支持使用SQLite数据库进行本地数据存储,以及使用Ajax进行HTTP请求与服务器通信。开发者需要理解如何操作这些功能,以便实现应用的数据管理和网络交互。 用户界面的构建和响应式设计是另一个关键环节。使用...

    Phonegap_API_中文版

    5. **存储管理**:PhoneGap提供了Web Storage(localStorage和sessionStorage)以及SQLite数据库的支持,用于在本地存储应用数据。这些存储方式可以处理结构化的数据,且不会因浏览器关闭而丢失。 6. **通知与推送*...

    sqlitetest:为 phonegap 测试 SQLite

    在 PhoneGap 应用中,SQLite 通常作为本地数据存储的解决方案,特别是在需要离线数据存储或大量数据处理时。 "sqlitetest" 项目是为了测试 PhoneGap 应用中 SQLite 的功能和性能。这个测试可能包括创建数据库、插入...

    最新phonegap插件集合

    PhoneGap的核心理念是通过Web技术实现多平台的兼容性,将网页应用转换为能够在iOS、Android、Windows Phone等平台上运行的原生应用。这个“最新phonegap插件集合”应该是包含了一系列适用于PhoneGap开发的最新插件,...

    phonegap入门经典源码

    3. 本地存储:PhoneGap支持Web Storage(包括localStorage和sessionStorage)以及SQLite数据库。通过`chapter9b.html`,我们可以学习如何在应用中持久化数据,如使用`window.localStorage`或`window.openDatabase()`...

    关于html5开发框架PhoneGap的移动开发调研

    PhoneGap支持多种操作系统,包括iOS、Android、Windows Phone、BlackBerry、HP webOS、Symbian和Bada。然而,不同平台的SDK并不相同。例如,iOS使用Objective-C的SDK,而Android使用的是Java的JAR包。尽管如此,...

    cordova-sqlite-ext:一个CordovaPhoneGap插件,可在带有REGEXP(AndroidmacOSiOS)和预填充数据库(AndroidiOSmacOSWindows)的AndroidiOSmacOSWindows上打开和使用sqlite数据库

    具有额外功能的Cordova / PhoneGap sqlite存储适配器 具有基于HTML5 / 的本机SQLite组件,适用于以下平台: 安卓 的iOS macOS(“ osx”平台) Windows 10(UWP)桌面和手机(有关主要限制,请参见下文) 许可:...

    使用Phonegap实现离线功能详细讲解.doc

    总结来说,PhoneGap 结合 SQLite 实现离线功能的技术流程主要包括:构建 PhoneGap 环境,通过 AJAX 获取并解析 JSON 数据,使用 PhoneGap 的 SQLite API 存储数据,以及在离线状态下从数据库中读取数据并更新 UI。...

    phonegap1.1.0

    PhoneGap为Android开发者提供了一种使用Web技术进行开发的新途径。 2. **iOS**:Apple 的移动操作系统,适用于iPhone、iPad等设备。PhoneGap通过WebKit引擎让JavaScript与iOS设备的硬件交互。 3. **BlackBerry**:...

    Phonegap 2.9.1

    4. **本地资源访问**:PhoneGap允许开发者访问设备的文件系统,存储和读取数据,同时也能调用设备的数据库功能,如SQLite,用于本地数据存储。 5. **事件处理**:PhoneGap 2.9.1支持设备生命周期事件,例如设备就绪...

    phonegap api中文手册

    PhoneGap是一款基于HTML、CSS和JavaScript的技术栈,允许开发者构建适用于多个移动操作系统(如iOS、Android等)的应用程序。 #### 二、PhoneGap API功能模块概述 PhoneGap API提供了丰富的功能模块来扩展HTML、CSS...

    phonegap实例

    这个实例可能包含了一系列的DEMO项目,用于演示PhoneGap在Android和iOS平台上实现各种功能的可能性。 首先,让我们深入了解一下PhoneGap的核心概念。PhoneGap通过一个中间层将Web应用与设备的硬件功能连接起来,如...

    PhoneGAP实战书内实例

    - **实例5:本地存储**:PhoneGap提供了Web Storage(localStorage和sessionStorage)和SQLite数据库,用于在离线状态下存储数据。这个实例将介绍如何使用这些存储机制保存和读取数据。 5. **打包与部署**:完成...

    phonegap移动开发框架

    1. **跨平台支持**:PhoneGap 0.9.6支持iOS、Android、BlackBerry、Windows Phone等主流移动操作系统,使得开发者只需要编写一次代码,就能在多个平台上运行。 2. **设备API**:包括访问设备的文件系统、网络连接、...

Global site tag (gtag.js) - Google Analytics