【问题标题】:Bundle and Access a file within the BlackBerry PhoneGap / Cordova file system捆绑并访问 BlackBerry PhoneGap / Cordova 文件系统中的文件
【发布时间】:2013-01-15 20:59:31
【问题描述】:

我正在使用 Cordova / PhoneGap 构建一个 BlackBerry 应用程序。我的最终目标是能够将预填充的 SQLite 数据库与应用程序捆绑在一起。

我看到一些教程建议将所需文件包含在 Assets 文件夹中并在第一次应用加载时加载它。

为了实现预填充数据库的结束,我将要访问黑莓设备上的本地文件系统。

使用 Cordova 文档中提供的示例,我整理了以下内容:

onDeviceReady: function() {
    app.receivedEvent('deviceready');
    var fail = function(err){console.log(err)};
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 
        function(fs){
            var reader = fs.root.createReader().readEntries(
                function(entries){
                    console.log("FS:"+entries)
                },
                fail);
        },fail
    );
    window.resolveLocalFileSystemURI("file:///store/home", 
        function(uri){
            console.log(uri);
        }, 
        fail);      
}

在所有情况下,模拟器上的文件列表都是空的(专门尝试使用 chromeipple 插件)

missing exec:File.resolveLocalFileSystemURI ripple.js:39
["file:///store/home"] ripple.js:39
TypeError
 ripple.js:39
TypeError: Cannot read property 'root' of undefined
    at Object.module.exports.resolveLocalFileSystemURI (chrome-    extension://geelfhphabnejjhdalkjhgipohgpdnoc/ripple.js:39:7398)
    at module.exports.exec (chrome-    extension://geelfhphabnejjhdalkjhgipohgpdnoc/ripple.js:39:19386)
    at module.exports (http://telusbb.com/cordova-2.3.0.js:9602:5)
    at app.onDeviceReady (http://telusbb.com/js/index.js:73:10)
    at Channel.fire (http://telusbb.com/cordova-2.3.0.js:690:23)
    at http://telusbb.com/cordova-2.3.0.js:219:47 ripple.js:39
File ripple.js:46
    resolveLocalFileSystemURI 
 FS:

我无法从文档中找出我想在哪里存储文件以使其出现在 PhoneGap 文件系统中。

目前我的资产文件夹位于<sampleapplciation>/www/assets 中,如果我想在应用程序中访问它们,是否还有其他路径可以存储文件?

【问题讨论】:

    标签: file sqlite cordova blackberry


    【解决方案1】:

    我认为您最好的选择是在包外构建预打包的 SQLite 数据库,然后使用 INSERT 查询在应用程序首次启动时构建数据库。

    我正在我的一个 iOS Phonegap 应用程序中执行此操作(当然,使用非常简单的数据库)。效果很好。

    【讨论】:

      【解决方案2】:

      可能无关紧要,但我认为 Ripple 问题与文件在计算机上的位置有关。 顺便说一句,我建议你使用 WebWorks SDK,它非常棒,有很多原生 API 访问,也许 IO api 会帮助你满足你的需要,而且使用 Ripple 或命令行打包和安装非常简单(调试该设备在支持 Web-inspector 的设备上也非常出色)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-07
        • 1970-01-01
        • 1970-01-01
        • 2014-02-24
        相关资源
        最近更新 更多