0

Cordova / PhoneGap を使用して BlackBerry アプリケーションを構築しています。私の最終目標は、事前入力された SQLite データベースをアプリケーションにバンドルできるようにすることです。

必要なファイルを Assets フォルダーに含めて、最初のアプリの読み込み時に読み込むことを提案するチュートリアルをいくつか見ました。

事前入力されたデータベースの最後を達成するために、blackberry デバイスのローカル ファイル システムにアクセスしたいと考えています。

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);      
}

いずれの場合も、シミュレーターのファイル リストは空です (具体的にはクロム リップル プラグインを使用してみます)。

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、アプリ内でファイルにアクセスしたい場合に、ファイルを保存する必要がある別のパスがありますか?

4

2 に答える 2

0

最善の選択肢は、事前にパッケージ化された SQLite DB をパッケージの外に構築し、INSERT クエリを使用して、アプリの最初の起動時に DB を構築することだと思います。

私は iOS Phonegap アプリの 1 つでこれを行っています (非常に単純な DB で許可されています)。それは完全に機能します。

于 2013-02-04T17:26:42.777 に答える