我已经搜索了houres,但我真的不知道我能不能用cordova sqlite ext插件在android上读取sd卡(手机设备存储)上的sqlite文件。
上面写着:
litehelopers中提供了以下功能/
科尔多瓦sqlite分机:。。。
-预填充数据库(Android/iOS/macOS/Windows)
所以我需要一个webapp外部的sqlite数据库和一个可以从这个数据库中读取的phonegap插件。那么,上面的插件能做到这一点吗???
或者有其他方法来完成这项任务吗?
最佳答案
cordova-sqlite-storage将其数据库存储在应用程序的私有存储目录中。
这只能由你的应用访问,并且位于内部数据分区上。
例如,如果你的应用程序包ID是foo.bar.com
并且你的数据库是name: store.db
的,那么它将位于/data/data/foo.bar.com/databases/store.db
。
位置data/data/foo.bar.com/
从cordova.file.applicationStorageDirectory
引用为cordova-plugin-file
。
您可以使用cordova-sqlite-evcore-extbuild-free的cordova-sqlite-storage变体:
自定义Android数据库位置(支持外部存储目录)
“外部存储目录”位于“SD卡”上,SD卡通常是通过装入点/sdcard/
或/storate/emulated/0/
访问的内部内存分区。
自Android4.4以来,应用程序只能在SD卡上的“应用程序沙盒”目录中具有写访问权限,例如/sdcard/Android/data/foo.bar.com/
(cordova.file.externalApplicationStorageDirectory
)。
SD卡的所有其他区域都是只读的(例如,/sdcard/
-cordova.file.externalRootDirectory
的根目录),因此,当您可以从这里的数据库中读取数据时,要对其进行写入,您需要将其复制到应用程序的专用或外部存储目录中。例如,您可以使用cordova-plugin-file
。