cordova-sqlite-ext 可以读取 SD 卡上的数据库(Android)吗?
Can cordova-sqlite-ext read db on sd card (Android)?
我已经搜索了 houres,但我无法真正弄清楚我是否可以使用 cordova- sqlite-ext 插件。
在 https://www.npmjs.com/package/cordova-sqlite-storage 上说:
The following features are available in litehelpers /
cordova-sqlite-ext: ...
- Pre-populated database (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-plugin-file
.
引用为 cordova.file.applicationStorageDirectory
您可以使用 cordova-sqlite-storage 的 cordova-sqlite-evcore-extbuild-free 变体:
Custom Android database location (supports external storage directory)
"external storage directory" 在 "SD card" 上,通常是通过挂载点 /sdcard/
或 /storate/emulated/0/
访问的内部内存分区。
自 Android 4.4 起,应用程序只能在 SD 卡上的 "application sandbox" 目录中进行写入访问,例如/sdcard/Android/data/foo.bar.com/
(cordova.file.externalApplicationStorageDirectory
).
SD 卡的所有其他区域都是只读的(例如 /sdcard/
的根目录 - cordova.file.externalRootDirectory
),因此虽然您可以在此处从数据库中读取,但要写入它,您需要需要将其复制到应用程序的私有或外部存储目录。例如,您可以使用 cordova-plugin-file
来执行此操作。
我已经搜索了 houres,但我无法真正弄清楚我是否可以使用 cordova- sqlite-ext 插件。
在 https://www.npmjs.com/package/cordova-sqlite-storage 上说:
The following features are available in litehelpers / cordova-sqlite-ext: ... - Pre-populated database (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-plugin-file
.
cordova.file.applicationStorageDirectory
您可以使用 cordova-sqlite-storage 的 cordova-sqlite-evcore-extbuild-free 变体:
Custom Android database location (supports external storage directory)
"external storage directory" 在 "SD card" 上,通常是通过挂载点 /sdcard/
或 /storate/emulated/0/
访问的内部内存分区。
自 Android 4.4 起,应用程序只能在 SD 卡上的 "application sandbox" 目录中进行写入访问,例如/sdcard/Android/data/foo.bar.com/
(cordova.file.externalApplicationStorageDirectory
).
SD 卡的所有其他区域都是只读的(例如 /sdcard/
的根目录 - cordova.file.externalRootDirectory
),因此虽然您可以在此处从数据库中读取,但要写入它,您需要需要将其复制到应用程序的私有或外部存储目录。例如,您可以使用 cordova-plugin-file
来执行此操作。