代码之家  ›  专栏  ›  技术社区  ›  Suseday

cordova sqlite ext能否读取sd卡(Android)上的db?

  •  3
  • Suseday  · 技术社区  · 7 年前

    在…上 https://www.npmjs.com/package/cordova-sqlite-storage 它说:

    litehelpers中提供以下功能/ 科尔多瓦sqlite分机:。。。

    所以我需要的是一个webapp之外的sqlite数据库和一个phonegap插件,可以从这个db读取数据。那么,上面的插件是否可以做到这一点???

    或者有没有其他方法来完成这项任务?

    1 回复  |  直到 7 年前
        1
  •  1
  •   DaveAlden    7 年前

    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存储 :

    自定义Android数据库位置(支持外部存储目录)

    “外部存储目录”位于“SD卡”上,SD卡通常是通过装入点访问的内部内存分区 /sdcard/ /storate/emulated/0/ . 自Android 4.4以来,应用程序只能在SD卡上的“应用程序沙盒”目录中进行写访问,例如。 /sdcard/Android/data/foo.bar.com/ ( cordova.file.externalApplicationStorageDirectory ).

    SD卡的所有其他区域都是只读的(例如 /SD卡/ - cordova.file.externalRootDirectory )因此,虽然您可以从这里的数据库中读取数据,但要对其进行写入,您需要将其复制到应用程序的私有或外部存储目录中。您可以使用 cordova插件文件 例如