写在开头WeX5是一个开源,免费的Hybrid移动应用开发框架,如果不了解的朋友可以上官网http://www.wex5.com/去了解一下。一般做法使用WeX5开发移动APP时,有一些基础数据需要保存在本地,这个时候就需要SQLite数据库了,我们可以在项目中引入cordova-plugin-sqlite插件,这样在全局就存在一个window.sqlitePlugin的对象。我们可以通过下面语句来打开一个sqlite的数据库,继而通过db来进行数据库的增删改查操作。var db = window.sqlitePlugin.openDatabase({name : \"demo.db\"});WeX5的UI2提供了一个DemoDB.js文件用于实例化db对象,我们可以在项目中建立一个demo.sql脚本文件,在APP启动的时候通过demo.sql初始化sqlite数据库。优化改进上面的做法对于demo.sql中数据量小的情况下没有问题,如果数据量大的情况下,会导致sqlite数据库初始化时间过长,进而导致页面加载完成的时候,相匹配的对应基础数据还没有到位。sqlite是安卓设备自带的内嵌数据库,我们知道每一个数据库都有它的数据库资源文件,而sqlite数据库的资源文件就是后缀名为db的文件,比如demo.db。这样我们可以直接把demo.db数据库资源文件直接打包到APP里面,这样就省去了sqlite数据库初始化的工作,节省了不少时间。具体做法是:现在本地PC中将demo.sql中的数据通过sqlite工具转化为demo.dq(也就是在PC上的sqlite数据库中创建对应数据库,后台自动生成demo.db)将demo.db复制到/Native/templates/advanced/www目录下面修改sqlitePlugin的打开方法参数:this.database = window.sqlitePlugin.openDatabase({name : 'demo.db',createFromLocation : 1});这里要注意:demo.db一定要带后缀名重新编译使用到的UI资源重新生成本地APP有在使用WeX5开发APP的朋友,可以与我交流。
0 评论