如何在Ripple中使用Sqlite运行PhoneGap应用程序?
我有一个带有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弹出一个弹出窗口,其中包含以下文本:
我可以接受或取消,然后再出现2个对话框,如果我接受它会被绞死. js控制台显示cordova 2.7.0真正运行:
deviceready没有被解雇 当我在我的脚本中包含cordova-2.9.0.js时 它与2.7相同
但这次我得到了其他错误
deviceready没有被解雇 当我的脚本中没有包含任何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中完成所有工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |