
嵌入WebVIEw并显示 HTML5页面.
当在androID Chrome browser中打开HTML页面时,数据库创建正常.
但是当我运行这个应用程序时,数据库无法创建.
看来HTML页面无法在WebVIEw上创建数据库.
有谁知道为什么?
这是我的活动代码:
public class efan_NewsReader extends Activity {/** Called when the activity is first created. */@OverrIDepublic 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页面源代码:
<HTML manifest="mymanifest.manifest"> <head><Meta http-equiv="Content-Type" content="text/HTML; content="no-cache" charset=utf-8" /><script type="text/JavaScript" src="Js/jquery-1.6.1.min.Js"></script><script>$(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 = "<p>Found rows: " + len + "</p>"; $("#testinfo").append(msg); },null); }); }</script></head><body> <div>here is test info:</div> <div ID="testinfo"></div></body>解决方法 试试: settings.setDatabaseEnabled(true);String dbPath = this.getApplicationContext().getDir("database",Context.MODE_PRIVATE).getPath();settings.setDatabasePath(dbPath); 在WebChromeClIEnt中:
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); }} 应该没问题;)
总结以上是内存溢出为你收集整理的android WebView HTML5访问数据库问题全部内容,希望文章能够帮你解决android WebView HTML5访问数据库问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)