Cordova cordova_sqlite_storage控件的使用
来源:互联网 发布:如何自学软件编程 编辑:程序博客网 时间:2024/06/05 04:14
最近公司准备用Cordova做个H5 app,蛋疼啊,我只是个android小白,辛勤的做一些准备工作吧。官网有很多成熟的控件,需要学习一下常用的,比如数据库控件、文件读写控件等。 cordova-sqlite-storage控件看了一天,只学习了基础的增删改查,感觉有必要做下笔记,记录下劳动成果。先来个控件的github地址:https://github.com/litehelpers/Cordova-sqlite-storage 再来个cordova环境下载方法(直接下载官网的):cordova plugin add cordova-sqlite-storage First blood:先贴代码
var db = null;document.addEventListener('deviceready',function() { db = window.sqlitePlugin.openDatabase( {name: 'demo.db', location: 'default'} );});
首先是等待设备'deviceready',不多说。 然后调用openDatabase()方法,若果数据库不存在,则创建;不存在,打开该数据库。方法里传入一组参数:name数据库名字,location数据库位置,android的默认位置是在data/data/包名/databases里,ios一窍不通,也就没研究(name和location最好都设置,本人之前只设置了name,数据库未创建成功,看过api好像提示两个值必须初始化,英文不好,原句找不到了,舔着脸提示一下吧)。之前还是用过var db= window.sqlitePlugin.openDatabase("myDatabase.db", "1.0", "Demo", -1);但是失败了,原句奉上:No longer supported (see tip below to overwrite window.openDatabase),不支持了! 第二点:上代码
db.transaction(function(tx) { tx.executeSql("create table if not exists person(" + "id integer primary key autoincrement," + "name varchar(20)," + "password varchar(20))" ); }, function(error) { console.log('Transaction ERROR: ' + error.message); }, function() { console.log('Populated database OK'); });
这段代码就是创建表的,很简单。db.transaction()方法呢,感觉没什么解释的,有三个参数:第一个callback回调函数,第二个errorCallback失败回调,第三个successCallback成功回调。最好都写了,方便调试。 回调函数有个tx返回值,就是SQLitePluginTransaction 一个事物,通过tx.executeSql()执行sql语句,下面说。 第三点:增删改查,上代码
db.transaction(function(tx) { tx.executeSql( 'SELECT * FROM person ', [], function(tx, rs) { var row=rs.rows.item(0); for(var column in row){ document.write(column+":"+row[column]); } }, function(tx, error) { console.log('SELECT error: ' + error.message); }); }, function(error) { console.log('Transaction ERROR: ' + error.message); }, function() { console.log('Populated database OK'); });
其他不多说,直接介绍executeSql()函数,需要传入四个参数,第一个为sql语句,比较明显,增删改查语句直接传入就行;第二个是个数组,里面写sql语句中占位符对应的值;第三个成功回调函数,返回两个值,tx可以继续执行executeSql()函数,rs是返回的结果值 rs = Object {rows: Object, rowsAffected: 0, insertId: undefined},返回的数据就在rows里,通过rs.rows.item(i)取出,rowsAffected是影响的行数,insertId不解释了。 感觉基础的就这么点东西了,感觉APP端差不多够用了,不够用再研究吧,毕竟全英文文档看着很难受。
阅读全文
0 0
- Cordova cordova_sqlite_storage控件的使用
- Cordova IOS 的使用
- cordova webview的使用
- Cordova的使用
- Cordova的简单使用
- cordova 的使用
- 使用cordova的加强webview
- Cordova的安装和使用
- 使用cordova的加强webview
- cordova使用遇到的坑
- [Cordova学习]2.Cordova既存的插件使用方式
- cordova 使用
- Cordova-----3、Cordova使用插件
- 使用cordova遇到的一些坑
- Cordova 使用极光推送 的几个问题
- Ionic+cordova框架使用的一些问题
- cordova 在android的端使用
- cordova热更新插件的使用
- leetcode 274. H-Index
- hql由于关键字报错
- vi编辑器【常用操作】
- JAVA-16.1-线程常用方法、线程生命周期、线程组、线程池、计时器
- beego如何获取客户端IP?
- Cordova cordova_sqlite_storage控件的使用
- C#----小知识
- Java实现寻找链表的中间节点
- 服务器常用端口介绍
- 剑指Offer-8
- Python三大神器之pip的安装
- 【git系列之E】git的分支操作(查看分支、切换分支、新建分支和删除分支)
- [RK3288][Android6.0] ALSA的DMA buffer读写位置更新
- codevs 3342 绿色通道(二分+dp+优先队列or单调队列)好题