【问题标题】:connecting to sqlite database from phonegap html file for android从 Android 的 phonegap html 文件连接到 sqlite 数据库
【发布时间】:2012-02-07 05:57:43
【问题描述】:

我正在使用 phonegap 和 sqlite 开发适用于 android、ios、blackberry 的跨平台移动应用程序。作为参考,我使用的是 http://docs.phonegap.com/en/1.0.0/phonegap_storage_storage.md.html。我的 index.html 在下面

1.我在lib中有phonegap.jar

2.在assets/wwww中得到phonegap.js

3.在我的硬盘中下载了sqlite浏览器和sql shell

4.得到 jquery.min.js

我想知道如何从 index.html 中给出我的 sqlite 的位置,以便它可以与它建立连接。如果我只是传入 phonegap.js,它不会连接到 sqlite。

<head>
 <title>Contact Example</title>
   <script type="text/javascript" charset="utf-8" src="js/phonegap-1.4.0.js">    </script>      
        <script type="text/javascript" src="js/jquery.min.js"/></script>
        <script type="text/javascript" src="js/jquery.mobile-1.0rc2.min.js"></script>
       <script type="text/javascript" charset="utf-8">
     function onLoad(){
       document.addEventListener("deviceready", onDeviceReady, true);
    var db = window.openDatabase("Dummy_DB", "3.0", "Just a Dummy DB",200000); 
            alert("db="+db); //not printing
 }
 function onDeviceReady(){
      navigator.notification.alert("doo");//only printing this


 }

 <body onload="c()">
  <h1>n Example</h1>
  <p>Database</p>
</body>

【问题讨论】:

    标签: android sqlite mobile cordova


    【解决方案1】:

    有几个可能的问题:

    • 当您调用 openDatabase 时,文档已加载,但 phonegap 没有。问题是你调用方法c()onBodyLoad 不是onDeviceReady phonegap 教程中的建议。看 here
    • 还请检查您是否相应地添加了 javascript。一个非常好的方法 要检查的是为 deviceready 添加 eventListener。如果得到 触发 javascript 加载正常。

    【讨论】:

    • 对于访问 sqlite 数据库我只需要包含 phonegap.js 和 phonegap.jar 还是需要告诉我的应用程序我下载的 sqlite 在哪里
    • Phone gap 有一个默认的数据库所在的位置——它有自己的数据库要管理(它创建并维护它)。如果您想连接到现有数据库,您可能会发现此线程很有用:groups.google.com/group/phonegap/browse_thread/thread/…
    • 所以要在 sqlite phonegap 中创建一个新数据库,我只需要使用 window.openDatabase。?我还添加了侦听器和设备就绪,但它给出了 Uncaught Error: INVALID_STATE_ERR: DOM Exception 11 at file:///android_asset/www/index.html:13 ..in log...
    • 如果这是更新后的代码,那么您仍然有同样的问题 - addEventListener 是在 onLoad 正文之外完成的,请参阅我指向您的文档中的示例。数据库已创建是:请参见此处:docs.phonegap.com/en/1.0.0/… '此方法将创建一个新的 SQL Lite 数据库并返回一个数据库对象。使用数据库对象来操作数据。'
    • 我已将现有数据库与我的 html 文件连接,但如果我将其上传到 phonegap build。它将在运行时生成新数据库(我的想法)。你能告诉我是否有可能用html文件添加我的数据库并将其上传到phonegap,以便它可以为链接到我的数据库的不同平台生成应用程序。
    猜你喜欢
    • 2020-04-20
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    相关资源
    最近更新 更多