如何从 sdcard 加载现有的 .db 文件或使用 phoneGap 或任何适用于 phoneGap 的插件在 sdcard 中创建数据库?
我想将我的 .db 文件保存在 sdcard 中,因为数据库的大小可能会增加。
最佳答案
我面临着同样的问题,但是在对 phonegap-cordova 库进行了长时间的深入阅读之后,我发现它缺乏提供选择路径的灵 active 。
原因可能是因为跨平台的限制,库绑定(bind)你使用默认的应用程序路径,所以在不同的平台上,库可以很容易地获取文件。
但是什么!!有一个技巧可以实现目标....
function onDeviceReady() {
var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
}
实际上当 JavaScript 调用 'openDatabase()' 函数时,它会做以下事情
- 在db_name之前添加'/data/data/
/' - 并在db_name之后添加'.db'
即:在上述情况下,结果将是;
/data/data/< package_name_of_your_app>/test.db
所以技巧就在这里;
function onDeviceReady() {
var db = window.openDatabase("../../../../mnt/sdcard/test", "1.0", "Test DB", 1000000);
}
- 在 db_name 之前添加 '../../../../mnt/sdcard/',不要添加扩展名,因为库本身会添加 '.db',如果您添加任何扩展名,那么您的 db 文件将是db_name.(yourextension).db
现在呢!会的;
- 在db_name之前添加'/data/data/
/' - 并在db_name之后添加'.db'
- 它将使用你的 db_name '../../../../mnt/sdcard/test'
因此,结果将是;
/data/data/< package_name_of_your_app>/../../../../mnt/sdcard/test.db
所以,它会回到你手机的根目录,然后是/mnt/sdcard
关于java - 是否可以在 Android 中使用 phoneGap 在 sdcard 中加载/创建数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11151783/