我们有一个使用cordova(phonegap)和他自己的sqlite DB的应用程序(我的意思是我们没有安装外部sqlite).
我们需要将数据库备份到SD内存中,但是我们在将sqlite文件从phonegap导出到SD时遇到问题.
愿有人帮助我们吗?
很多年前......但我认为这是解决方案:
function failFiles(error) {
if (error.code == FileError.NOT_FOUND_ERR) alert("Message : NOT_FOUND_ERR" )
else if (error.code == FileError.SECURITY_ERR) alert("Message : SECURITY_ERR" )
else if (error.code == FileError.ABORT_ERR) alert("Message : ABORT_ERR" )
else if (error.code == FileError.NOT_READABLE_ERR) alert("Message : NOT_READABLE_ERR" )
else if (error.code == FileError.ENCODING_ERR) alert("Message : ENCODING_ERR" )
else if (error.code == FileError.NO_MODIFICATION_ALLOWED_ERR) alert("Message : NO_MODIFICATION_ALLOWED_ERR" )
else if (error.code == FileError.INVALID_STATE_ERR) alert("Message : INVALID_STATE_ERR" )
else if (error.code == FileError.SYNTAX_ERR) alert("Message : SYNTAX_ERR" )
else if (error.code == FileError.INVALID_MODIFICATION_ERR) alert("Message : INVALID_MODIFICATION_ERR" )
else if (error.code == FileError.QUOTA_EXCEEDED_ERR) alert("Message : QUOTA_EXCEEDED_ERR" )
else if (error.code == FileError.PATH_EXISTS_ERR) alert("Message : PATH_EXISTS_ERR" )
}
function successDump() {
}
//Export DB. Get the file file:///data/data/yourproject/app_database/file__0/0000000000000001.db
//and save in the SD with the name yourproject.db
function copyBdtoSD() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, successDump, failFiles); window.resolveLocalFileSystemURI("file:///data/data/yourproject/app_database/file__0/0000000000000001.db", copyFileToSd, failFiles);
}
function copyFileToSd(entry) {
var parent = "file:///mnt/sdcard",
parentName = parent.substring(parent.lastIndexOf('/')+1),
parentEntry = new DirectoryEntry(parentName, parent);
var newName = "yourproject.db";
// copy the file
entry.copyTo(parentEntry, newName, successExport, failFiles);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4317 次 |
| 最近记录: |