0
我正在編寫一個演示應用程序,以查看是否可以在原生android和web視圖之間共享數據庫。爲此,我爲我的活動添加了一個webview和一個按鈕。點擊按鈕,我在/data/data/com.demo/databases/testdb中創建一個數據庫。我可以在sqlite3提示符下看到這個數據庫。然後我寫了有以下腳本標籤在頭部分在android原生應用程序和html5之間共享數據庫
<script type="text/javascript">
if (window.openDatabase){
db = window.openDatabase("testdb", "1", "test database", 1024*1024);
alert("Database " + db);
if(db){
db.transaction(function(tx)
{
tx.executeSql('SELECT * FROM KeyValues',
[],
function (tx, rs) { displayMyResult(rs); },
function (tx, err) { displayMyError(err); });
});
}
}else{
alert("Database is not supported");
}
function displayMyResult(rs){
alert("In display method");
for(var i=0; i < rs.rows.length; i++) {
r = rs.rows.item(i);
alert('id = ' + r['id'] + ', Key: ' + r['key_name'] + ', Value: ' + r['key_value']);
}
}
function displayMyError(err){
alert(err.message);
}
</script>
問題是我一直都想與數據庫對象數據庫爲空HTML頁面。可能這是不可能的。或者我錯過了什麼。
任何幫助表示讚賞。
編輯:底線:是否有可能訪問由webview中的原生android API創建的數據庫?
這是正確的做法?我很好奇自己。 –
我可以在/data/data/com.demo/databases文件夾中看到數據庫testdb。但是從html頁面 db = window.openDatabase(「testdb」,「1」,「test Database」,1024 * 1024);總是返回null – prashant