DownOL 软件仓库– 软件下载,字节世界与新知

WeX5开发移动APP(SQLite本地数据优化)

发表于:2024-04-27 作者:创始人
编辑最后更新 2024年04月27日,写在开头WeX5是一个开源,免费的Hybrid移动应用开发框架,如果不了解的朋友可以上官网http://www.wex5.com/去了解一下。一般做法使用WeX5开发移动APP时,有一些基础数据需要保


写在开头

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数据库初始化的工作,节省了不少时间。

具体做法是:

  1. 现在本地PC中将demo.sql中的数据通过sqlite工具转化为demo.dq(也就是在PC上的sqlite数据库中创建对应数据库,后台自动生成demo.db)

  2. 将demo.db复制到/Native/templates/advanced/www目录下面

  3. 修改sqlitePlugin的打开方法参数:this.database = window.sqlitePlugin.openDatabase({name : 'demo.db',createFromLocation : 1});这里要注意:demo.db一定要带后缀名

  4. 重新编译使用到的UI资源

  5. 重新生成本地APP


有在使用WeX5开发APP的朋友,可以与我交流。

2022-05-09 22:25:06
0