React-native-sqlite-storage 如何在 iOS 的文档目录中打开数据库
React-native-sqlite-storage how to open database in documents directory for iOS
我正在使用 react-native-sqlite-storage,但我无法找到一种方法来打开文档目录中已有的数据库(从 Internet 下载)。指定的文件名似乎指向应用程序包中的一个文件,当 iOS 上的 运行 时,该文件被库从包复制到应用程序的库文件夹(因为您无法修改 iOS 应用程序包)。我怎样才能强制它使用文档文件夹中已有的文件(如果我将它移到那里,则为库文件夹)?
React-Native-Sqlite-Storage 使用应用程序库文件夹中的一个子目录。该目录名为 localDatabase
。将数据库复制、下载或移动到该位置 (localDatabase
),然后使用 React-Native-Sqlite-Storage 的 openDatabase()
函数打开数据库,同时为其指定数据库名称。
var RNFS = require('react-native-fs');
var SQLite = require('react-native-sqlite-storage');
/*copy file from app bundle to library/localDatabase*/
var sourcePath = RNFS.MainBundlePath + '/' + 'myDatabase.sqlite';
var destinPath = RNFS.RNFS.LibraryDirectoryPath + '/LocalDatabase/' + 'myDatabase.sqlite';
RNFS.copyFile(sourcePath, destinPath)
.then(() =>{
var db = SQLite.openDatabase("myDatabase.sqlite", "1.0", "", 200000, me._openCB, me._errorCB);
})
我正在使用 react-native-sqlite-storage,但我无法找到一种方法来打开文档目录中已有的数据库(从 Internet 下载)。指定的文件名似乎指向应用程序包中的一个文件,当 iOS 上的 运行 时,该文件被库从包复制到应用程序的库文件夹(因为您无法修改 iOS 应用程序包)。我怎样才能强制它使用文档文件夹中已有的文件(如果我将它移到那里,则为库文件夹)?
React-Native-Sqlite-Storage 使用应用程序库文件夹中的一个子目录。该目录名为 localDatabase
。将数据库复制、下载或移动到该位置 (localDatabase
),然后使用 React-Native-Sqlite-Storage 的 openDatabase()
函数打开数据库,同时为其指定数据库名称。
var RNFS = require('react-native-fs');
var SQLite = require('react-native-sqlite-storage');
/*copy file from app bundle to library/localDatabase*/
var sourcePath = RNFS.MainBundlePath + '/' + 'myDatabase.sqlite';
var destinPath = RNFS.RNFS.LibraryDirectoryPath + '/LocalDatabase/' + 'myDatabase.sqlite';
RNFS.copyFile(sourcePath, destinPath)
.then(() =>{
var db = SQLite.openDatabase("myDatabase.sqlite", "1.0", "", 200000, me._openCB, me._errorCB);
})