我尝试将https://github.com/andpor/react-native-sqlite-storage用于SQLite。
我创建了一个sqlite数据库,并且该数据库已预先填充。
在我的本机项目中,我按照文档说明将players.db
文件放入/www
文件夹中。
但是当我从控制台检查时,打开数据库失败。 我无法打开预先填充的sqlite数据库。
我尝试了这些选项,但所有这些都不对我有用;
var db = SQLite.openDatabase({name : "players.db", createFromLocation : "~players.db"});
var db = SQLite.openDatabase({name : "players.db", createFromLocation :1});
var db = SQLite.openDatabase({name : "players", createFromLocation : "~players.db"});
控制台输出为:
OPEN database: players
Running application "SampleApp" with appParams: {"rootTag":31}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
new transaction is waiting for open operation
OPEN database: players failed, aborting any pending transactions
答案 0 :(得分:2)
最后我找到了答案。
ProjectFolder/android/app/src/main/assets
目录与/ www文件夹相同。因此,请勿将数据库文件放入/www
。将其放入/android/app/src/main/assets
文件夹。
比你可以像使用它
var db = SQLite.openDatabase({name : "players.db", createFromLocation : "~players.db"});
答案 1 :(得分:0)
如果您使用默认值,请尝试:
var db = SQLite.openDatabase({name : "players.db"});
这应该有效。
答案 2 :(得分:0)
在Android中,将数据库文件放置在“ PROJECT \ android \ app \ src \ main \ assets”目录中。如果您的数据库文件名不同(例如,players.db VS example.db),
var db = SQLite.openDatabase({name : "players.db", createFromLocation : "~example.db", location: 'Library'});
如果文件名与数据库相同(都命名为players.db),则
var db = SQLite.openDatabase({name : "players.db", createFromLocation : "~players.db", location: 'Library'});
如果您已经开始导入预先填充的数据库,请尝试执行以下步骤,从模拟器/手机中清除应用程序数据和/或完全卸载应用程序。