【问题标题】:Reading files in PhoneGap/Cordova 3.1在 PhoneGap/Cordova 3.1 中读取文件
【发布时间】:2013-11-13 12:14:57
【问题描述】:

所以,我正在开发一个需要预填充数据库的应用。根据Raymon Camden 的说法,没有直接的方法可以将预制数据库与应用程序打包在一起。作为解决方案,我将执行Select count(*)... 语句来检查并插入if result <= 0

现在的问题是插入。我有大约 500 行的表,我不想将它们粘贴到 js 文件中。我找到了File API,我相信我可以读取.sql文件,然后执行。

问题:

  1. PhoneGap 3.1(呃,命名。)如何打包应用程序?在我的www 目录中,我有

    • js
    • CSS
    • 开发
      • data.sql

    所以,最初我认为fileSystem.root.getFile('/dev/data.sql', ... 会起作用。 (基于this,MattDavis 说应用数据转到/data/data/packageName。)

  2. 如何访问文件?
  3. 我在正确的轨道上吗?或者,有没有更好的方法?

我正在使用 Cordova 3.1 构建,使用 awesome support of Netbeans

编辑

我尝试在设备的根目录上创建一个.txt 文件。我可以使用fileSystem.root.getFile('test.txt', ...) 成功访问它。所以我推断我只需要获取 actual app 目录。

【问题讨论】:

    标签: android sqlite cordova


    【解决方案1】:

    是的,只有你在正确的轨道上。因为你在asset/www/dev/里面访问data.sql。

    /data/data/packageName 这是用于访问您应用内的SD(应用内部存储)。所以没必要那样做。

    【讨论】:

    • 不确定我理解你的意思,你的意思就像fileSystem.root.getFile('asset/www/dev/data.sql', ...
    • 您可以使用fileSystem.root.getFile('asset/www/dev/data.sql', ... 继续您的工作。它会起作用的。不用担心/data/data/packageName 等等...
    • 呃。不幸的是,我似乎仍然无法访问该文件。 :|
    【解决方案2】:

    How did I access the file? + Or, is there a better approach?

    AJAX。原来我可以通过以下方式访问 assets 文件夹:

        $.get('file:///android_asset/www/dev/data.sql', function(response){
            console.log('Data found!');
            console.log(response); 
        });
    

    我不确定这是否适用于其他平台。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      • 2016-06-17
      相关资源
      最近更新 更多