[英]How to use the same android SQLite DB in native code created from cordova?
我在cordova應用程序中設置了一個SQLite數據庫。 然后,我需要開發一個新的插件來讀取該數據庫。 那么,如何從本機代碼訪問從cordova創建的數據庫?
這就是我創建數據庫的方式:
var shortName = 'mydb1';
var version = '1.0';
var displayName = 'my database';
var mydb = openDatabase(shortName, version, displayName, 100000000);
我創建了一個名為“ student”的表並插入一些數據。 一切似乎都正常。 我什至可以查看回插入的數據。
現在,我需要使用Java開發一個插件,並且該插件需要讀取我剛剛創建的“學生”表。 這是我的代碼:
SQLiteDatabase mydatabase = openOrCreateDatabase("mydb1",MODE_PRIVATE,null);
Cursor resultSet = mydatabase.rawQuery("SELECT * FROM student", null);
resultSet.moveToFirst();
return resultSet.getString(0);
我上面的代碼產生以下錯誤:
android.database.sqlite.SQLiteException: no such table: student (code 1): , while compiling: SELECT * FROM student
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(no such table: student (code 1): , while compiling: SELECT * FROM student)
請幫忙
附加信息:
通過使用數據庫路徑解決了它。 似乎cordova使用的數據庫路徑是不同的。 因此,我需要使用數據庫的完整路徑。 在這里我如何解決
SQLiteDatabase mydatabase = openOrCreateDatabase("/data/data/com.my.packagename/app_webview/databases/file__0/1",MODE_PRIVATE,null);
我實際上必須扎根我的設備才能真正找到此確切路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.