加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在Ripple中使用Sqlite运行PhoneGap应用程序?

发布时间:2020-12-12 18:58:20 所属栏目:百科 来源:网络整理
导读:我有一个带有sqlite插件的phongap应用程序,可以在 android和iphone中运行.当我尝试在Ripple中运行它时,我会得到几个错误,具体取决于我使用的cordova版本和设备.他们中的任何人都没有工作.在stackoverflow的一些评论中,我看到人们在涟漪下的phonegap中运行sql
我有一个带有sqlite插件的phongap应用程序,可以在 android和iphone中运行.当我尝试在Ripple中运行它时,我会得到几个错误,具体取决于我使用的cordova版本和设备.他们中的任何人都没有工作.在stackoverflow的一些评论中,我看到人们在涟漪下的phonegap中运行sqlite.

我在我的项目中使用了PG-SQLitePlugin-Android插件,它实际上只支持Phonegap 2.7.0.

我发现我可以通过调用它来强制Ripple使用2.7.0:

文件://localhost/Users/—-/—-/—-/www/index.html enableripple =科尔多瓦-2.7.0

在通过chrome访问文件系统后,Ripple实际上加载了很多.

当我在我的脚本中包含cordova-2.7.0.js时

index.html弹出一个弹出窗口,其中包含以下文本:

gap:[“Device”,”getDeviceInfo”,”Device119187522″]

我可以接受或取消,然后再出现2个对话框,如果我接受它会被绞死.

js控制台显示cordova 2.7.0真正运行:

Falling back on PROMPT mode since _cordovaNative is missing. Expected for Android 3.2 and lower only. cordova-2.7.0.js:906

deviceready没有被解雇

当我在我的脚本中包含cordova-2.9.0.js时

它与2.7相同

Falling back on PROMPT mode since _cordovaNative is missing. Expected for Android 3.2 and lower only. cordova-2.7.0.js:906

但这次我得到了其他错误

Failed to load resource file://localhost/Users/laullobetpayas/——-/—/——/www/cordova/cordova_plugins.json
Failed to load resource file://localhost/Users/——-/—/——/www/cordova/cordova_plugins.js

deviceready没有被解雇

当我的脚本中没有包含任何cordova.js时

SQLitePlugin.js:31
Uncaught ReferenceError: cordova is not defined SQLitePlugin.js:34

>我使用正确的插件吗?
>哪个是使用插件和纹波运行的cordova / device tu的正版版本?
>我是否必须在我的项目中包含cordova.js

Hel将是非常贬值的,很长一段时间我都试图解决这个问题.
先谢谢你.

解决方法

Phonegap插件不适用于Ripple,因为Phonegap插件的想法是它提供了一个Javascript接口以执行本机代码.这意味着,在Android的情况下,Javascript将调用本机Java代码,在iOS的情况下,Javascript将调用本机Objective-C.

Ripple纯粹是基于Javascript的,所以插件的Javascript部分没有任何东西可以与之接口.

例如,在SQLitePlugin的情况下,调用SQLitePlugin.close()会导致调用:

cordova.exec(null,null,"SQLitePlugin","close",[this.dbname]);

其中SQLitePlugin是本机类名称,close是本机函数名称.

如果您想在Android,iOS和Ripple中使用相同的存储API,可以考虑将lawnchair与适当的适配器一起使用.

至于Ripple和Phonegap 2.7.0 / 2.9.0的问题,Ripple还没有完全赶上Phonegap,所以你会在控制台中获得这些弹出窗口和错误消息,但这不会阻止你的Phonegap应用程序(没有本机插件) )在Ripple中运行.您可以通过一个简单的测试用例来说服自己:

document.addEventListener("deviceready",function(){
  alert("I'm alive");
});

但答案是,是的,你确实需要包含cordova.js才能在Ripple中完成所有工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读