Android 如何将数据库文件从dataDirectory复制到Cordova中的www文件夹?

Android 如何将数据库文件从dataDirectory复制到Cordova中的www文件夹?,android,cordova,Android,Cordova,我想从服务器下载一个数据库文件,并在apk中使用它 我在“cordova.file.dataDirectory”下载了这个文件。文件已在所需位置成功下载,但在window.plugins.sqlDB.copy()函数中,应用程序崩溃并显示消息 不幸的是,应用程序已停止 在数据库目录中创建的命名文件仅包含“android_元数据”表 我使用的代码是: var url = encodeURI("my server path"); var store = cordova.file.dataDirect

我想从服务器下载一个数据库文件,并在apk中使用它

我在“cordova.file.dataDirectory”下载了这个文件。文件已在所需位置成功下载,但在window.plugins.sqlDB.copy()函数中,应用程序崩溃并显示消息

不幸的是,应用程序已停止

在数据库目录中创建的命名文件仅包含“android_元数据”表

我使用的代码是:

var url = encodeURI("my server path");
var store = cordova.file.dataDirectory; 
var fileName = "Sample";
window.resolveLocalFileSystemURL(store + fileName, appStart, downloadAsset);
function downloadAsset() {
    var fileTransfer = new FileTransfer();
    fileTransfer.download(url, store+fileName,function (entry) {
            if       (navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|IEMobile)/)) {
                window.plugins.sqlDB.copy("Sample", 0, copysuccess, copyerror);
            }
            function copysuccess() {
                //open db and run your queries
               //app.db = window.sqlitePlugin.openDatabase({ name: "Sample"   });
            }

            function copyerror(e) {
                //db already exists or problem in copying the db file. Check   the Log.
                //app.db = window.sqlitePlugin.openDatabase({ name: "Sample"   });
            }

            },

        function (err) {
            alert(JSON.stringify(err));
        });
}
 function appStart() {
    alert('file available');
}
}

请帮助。

您不能在Cordova应用程序中写入
www
目录-它是只读的

各国代表团的文件:

此方法允许您从www目录复制数据库


i、 e.它允许您将现有数据库从www目录复制到另一个目录,例如平台特定的应用程序持久存储位置,由
cordova.file.dataDirectory

指示。我使用fileTransfer.download()方法解决了这个问题。在success函数中,我用app.db=window.sqlitePlugin.openDatabase({name:“Sample”})更改了代码;而不是“window.plugins.sqlDB.copy(“Sample”,0,copycessfuce,copycerror);”谢谢@DaveAlden的回复