2
在這裏遇到一個主要的磚牆。我有一個數據庫的數據,我需要打包在一個SQL Lite數據庫。我也需要能夠從javascript的webview查詢這個數據庫。當試圖在javascript中查詢數據庫時,sql lite正在返回錯誤代碼1,並顯示「沒有這樣的表」消息。有任何想法嗎?Android從HTML5訪問嵌入式sql lite數據庫
這裏的js代碼
var database = window.openDatabase("testdb5", "", "main total", 1024 * 1024);
if (database)
document.write('got');
database.transaction(function (tx) {
tx.executeSql("SELECT * FROM testtable", [], function (tx, result) {
for (var i = 0, item = null; i < result.rows.length; i++) {
item = result.rows.item(i);
document.write(item.name);
}
});
});
下面是相關的Java:
WebSettings settings = myWebView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDatabaseEnabled(true);
//String databasePath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
String databasePath ="/data/data/com.example.helloandroid/databases/";
settings.setDatabasePath(databasePath);
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize,
long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
quotaUpdater.updateQuota(estimatedSize * 2);
}
});
吮吸,有沒有文件上這個!任何幫助深表感謝。
您是否將資產(或res)文件夾中的數據庫複製到應用程序的數據庫文件夾?你可以使用api從Java內部訪問它嗎? –
我以爲我做到了。我複製了本教程。 http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/查看它的任何問題? –
確保該DataBaseHelper類中的copyDataBase方法在某個時刻被調用。 :)您可以使用adb shell檢查文件是否已被實際複製。 –