标签: androidcordova
2015-07-16 16:41 4302人阅读 评论(0) 收藏 举报
 分类:
IONIC/Cordova(18) 

版权声明:本文为博主原创文章,转载请留链接,非常感谢。

目录(?)[+]

本来想现在开源产品这么多,使用sqlite应该很简单, 却走了不少弯路,特把可以成功过程在这里记录一下:

插件网址: 
https://github.com/litehelpers/Cordova-sqlite-storage

安装步骤

使用cordova plugin命令安装

cordova plugin add cordova-sqlite-storage

安装结束后,使用中会报错: 
new transaction is waiting for open operation

在官方查到,这个安装后版本不是最新的。

cordova 从git安装

cordova plugin add https://github.com/litehelpers/Cordova-sqlite-storage

运行一半,提示: 

这大概原因是git克隆网址与cordova不在一个盘上。 
改用分开运行:

git clone https://github.com/litehelpers/Cordova-sqlite-storage

也可以直接下载最新压缩包后解压。 
然后手工安装 
cordova plugin add 本地路径 
在这之前,如果本地已经有的plugin,可以使用 
cordova plugin remove 包名 
进行删除。

安装plugman

官方推荐使用plugman安装。

npm install -g plugman 
plugman install –platform MYPLATFORM –project path.to.my.project.folder –plugin https://github.com/litehelpers/Cordova-sqlite-storage

其中platform可能是以下值: 
- android 
- ios 
- windows 
- wp8

代码示例

当使用预先设置的数据库时,要把自己的数据库放在www根目录下,并且打开数据库时,设置createFromLocation值为1。需要注意的时候,如果测试时自动复制到android的/data/data/应用程序名/databases下失败了,那把app 卸载后再试,不要直接覆盖安装。

Tips

cordova-plugin-dbcopy是另外一个专门把预设数据库拷贝到系统目录的工具。它不是必须的。

https://github.com/an-rahulpandey/cordova-plugin-dbcopy

在使用Eclipse打开android 的cordova项目,如果使用了sqlite,可能会报错。

这时候可以从官网下载源码,找到sqlite-connector.jar 

替换项目libs里原有的jar文件。 
如果还不行,就这样操作: 
把sqlite-native-driver.jar用winrar解压,把libs里的内容复制到android/libs下,删除sqlite-native-driver.jar,clean 项目,再运行程序测试。

Cordova 8 架构使用sqlite - 谢厂节的博客 - 博客频道 - CSDN.NET - Google Chrome的更多相关文章

  1. Cordova 浅析架构的原理

    因为项目使用了Cordova,也使用了很长时间.至于有很多hybride框架,为什么我们使用Cordova,这里不做过多的叙述,我们也是根据项目需求来选定的,需要及时更新.还要输出别人SDK等.没有最 ...

  2. 基于libevent, libuv和android Looper不断演进socket编程 - 走向架构师之路 - 博客频道 - CSDN.NET

    基于libevent, libuv和android Looper不断演进socket编程 - 走向架构师之路 - 博客频道 - CSDN.NET 基于libevent, libuv和android L ...

  3. android安卓 SQLite教程:内部架构及SQLite使用办法

    SQLite 介绍 SQLite一个非常流行的嵌入式数据库,它支持SQL语言,并且只利用很少的内存就有很好的性能.由于JDBC不适合手机这种内存受限设备,所以Android开发人员需要学习新的API ...

  4. Cordova 5 架构学习 Weinre远程调试技术

    手机上的页面不像桌面开发这么方便调试.能够使用Weinre进行远程调试以方便开发.本文介绍windows下的安装与使用. 安装 使用npm安装.能够执行: ###npm config set regi ...

  5. Chrome浏览器扩展开发系列之三:Google Chrome浏览器扩展的架构

    1) 不可视的background页面 Google Chrome扩展往往包含一个不可见的background页面,Google Chrome扩展的主要业务逻辑都位于此.有两种类型的backgroun ...

  6. 笔记整理--Linux守护进程

    Linux多进程开发(三)进程创建之守护进程的学习 - _Liang_Happy_Life__Dream - 51CTO技术博客 - Google Chrome (2013/10/11 16:48:2 ...

  7. 笔记整理——C语言-http-1

    http 传输原理及格式 - friping - ITeye技术网站 - Google Chrome (2013/4/1 14:02:36) http 传输原理及格式 博客分类: 其他 应用服务器浏览 ...

  8. IOS 开发学习33 使用sqlite3

    sqlite3 命令行简单使用 sqlite3 路径 //打开数据库路径连接 select * from sqlite_master where type="table"; //显 ...

  9. 我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!

    本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超 ...

随机推荐

  1. Vue中使用watch来监听数据变化

    写法一: methods:{ //监听isMD upProp(){ if(this.isMD){//如果isMD等于true 就把storeManagerName赋值给isStoreManagerNa ...

  2. ZOJ 3960 What Kind of Friends Are You?(读题+思维)

    题目链接 :http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5592 Japari Park is a large zoo hom ...

  3. .7-浅析express源码之Router模块(3)-app[METHODS]

    之前的讨论都局限于use方法,所有方式的请求会被通过,这一节讨论express内部如何处理特殊请求方法. 给个流程图咯~ 分别给出app.METHODS与router.METHODS: // app. ...

  4. [转]【mysql监控】查看mysql库大小,表大小,索引大小

    本文转自:http://blog.sina.com.cn/s/blog_4c197d420101fbl9.html 查看所有库的大小 mysql> use information_schema; ...

  5. C#微信小程序服务端获取用户解密信息

    using AIOWeb.Models; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.C ...

  6. SQL Server T—SQL 表连接

    一  笛卡尔积 select  *  from  表1,表2 将两表的记录遍历显示 二表的横向连接 1   使用外键关系作为条件 select  *  from   表1,表2  where   表1 ...

  7. 如何给oracle账户解锁

    在创建数据库时,已经为SYS等4个账户设定了口令,其中SYS与SYSTEM具有管理员权限,在SQL*Plus工具中使用SYSTEM账户登录Oracle数据库. 1.通过数据字典dba_users,查看 ...

  8. Android四大组件-Service

    http://blog.csdn.net/guolin_blog/article/details/11952435 http://www.jianshu.com/p/eeb2bd59853f 概述 定 ...

  9. Singleton(单例)模式和Double-Checked Locking(双重检查锁定)模式

    问题描述 现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能:在实际开发过程中,会专门有一个日志模块,负责写日志,由于在系统的任何地方,我们都有可能要调用日志模块中的函数,进 ...

  10. C++11 使用 std::async创建异步程序

    c++11中增加了线程,使得我们可以非常方便的创建线程,它的基本用法是这样的: void f(int n); std::thread t(f, n + 1); t.join(); 但是线程毕竟是属于比 ...