我在一个应用程序工作

嵌入WebView并显示

HTML5页面.

当在android chrome Browser中打开html页面时,数据库创建正常.

但是当我运行这个应用程序时,数据库无法创建.

看来html页面无法在WebView上创建数据库.

有谁知道为什么?

这是我的活动代码:

public class efan_NewsReader extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

WebView myWebView=(WebView)findViewById(R.id.my_webview);

myWebView.setWebViewClient(new WebViewClient());

WebSettings settings = myWebView.getSettings();

settings.setJavaScriptEnabled(true);

settings.setDomStorageEnabled(true);

settings.setDatabaseEnabled(true);

settings.setAppCacheEnabled(false);

myWebView.loadUrl("http://10.10.35.47:8080/html5test/test.htm");

}}

这是我的HTML5页面源代码:

$(document).ready(function(){

databaseTest();

});

function databaseTest(){

//open database

var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

db.transaction(function (tx) {

tx.executeSql('CREATE TABLE IF NOT EXISTS testHtml (id unique, contentText)');

tx.executeSql('INSERT INTO testHtml (contentText) VALUES ("insert data test!")');

});

db.transaction(function(tx){

tx.executeSql('SELECT * FROM testHtml',[],function(tx,result){

var len=result.rows.length;

var msg = "

Found rows: " + len + "

";

$("#testinfo").append(msg);

},null);

});

}

here is test info:
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐