`
caoxiping
  • 浏览: 31303 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

html5 不能创建据库

阅读更多

转:http://stackoverflow.com/questions/6676871/android-webview-html5-access-database-problem

 

问题:

i am work at an app which Embed an WebView and display a HTML5 page .

when open the html page in android chrome Browser.the database was create normal.

but when i run this app , the database can not create . it seem that html page can not create the database on WebView.

anybody know why?

here is my Activity code:

 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"); 
 
}} 

here is my HTML5 page source code:

    <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);

 

And in 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); 
    } 
} 
分享到:
评论

相关推荐

    基于HTML5 Canvas开发的图表库

    HTML5 Canvas是HTML5规范中的一个关键特性,它允许开发者通过JavaScript在网页上进行动态图形绘制,从而创建出丰富的交互式图表和其他视觉元素。Canvas提供了一个二维绘图上下文,可以执行诸如绘制线条、形状、图像...

    HTML5PHP一个HTML5解析和序列化PHP库

    HTML5PHP是一个专门为PHP开发者设计的库,它专注于HTML5文档的解析和序列化。这个库使得在PHP环境中处理HTML5文档变得更加方便和高效。HTML5PHP的核心功能是提供了一个强大的接口,允许开发者以编程方式操作HTML5...

    Python库 | rst2html5-tools-0.2.1.tar.gz

    标题中的"Python库 | rst2html5-tools-0.2.1.tar.gz"指的是一个用于Python的库,名为`rst2html5-tools`,版本号为0.2.1,其源代码被压缩在`.tar.gz`文件中。这种类型的文件通常包含软件的源代码、文档和其他相关资源...

    html5基于cesium.js库的3d立体地球仪模型动画代码.zip

    HTML5是一种先进的网页开发技术,它为Web开发者提供了丰富的功能和强大的工具,使得创建交互式、动态和多媒体体验成为可能。在这个"html5基于cesium.js库的3d立体地球仪模型动画代码.zip"压缩包中,我们找到了利用...

    Html5图片图像处理JS库

    基于HTML5的JS图片图像处理库,如AlloyPhoto,提供了丰富的功能,使开发者能够创建具有专业级图像编辑功能的Web应用。 首先,这类库通常具有简洁、易用的API。这意味着开发人员可以快速地学习并应用这些库来实现...

    Python库 | html5lib-1.0b3.tar.gz

    1. **解析HTML**:`html5lib`库可以解析HTML5文档,即使这些文档不完全符合规范,也能尝试修复错误,生成一个有效的DOM树。 2. **生成HTML**:除了解析,`html5lib`还支持生成HTML5文档。你可以创建一个DOM树,然后...

    html5Qrcode.zip

    这个压缩包"html5Qrcode.zip"包含了实现这一功能所需的核心JavaScript库,如`qrcode.js`、`qrcode.lib.min.js`、`quagga.min.js`和`zepto.js`。下面将详细阐述这些文件及其在二维码应用中的作用。 1. **qrcode.js**...

    html实现js文件md5

    在本示例中,"html实现js文件md5"指的是使用HTML页面结合JavaScript库来计算文件的MD5哈希值。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能够将任意长度的数据转化为固定长度的摘要,通常用于...

    完整的漂亮手机模板UI库html5

    标题中的“完整的漂亮手机模板UI库html5”指的是一个专门设计用于移动设备的用户界面(UI)库,它基于HTML5...无论是在创建新项目还是优化现有应用时,这样的UI库都能大大节省时间和资源,同时保证设计的质量和一致性。

    13款html5 svg页面loading加载动画效果

    3. HTML5库:虽然这个案例没有具体提及使用哪个HTML5库,但通常在开发此类复杂动画时,开发者可能会使用如GreenSock Animation Platform (GSAP)、Snap.svg或者D3.js等库。这些库提供了一套强大的工具,简化了动画的...

    基于html5的Chart.js图表js库

    **基于HTML5的Chart.js图表JS库** Chart.js是一个轻量级且易于使用的JavaScript库,专为在Web页面上创建动态、美观的数据可视化而设计。它利用HTML5的Canvas元素来绘制各种图表,如条形图、饼图、线形图、雷达图等...

    推荐18个基于 HTML5 Canvas 开发的图表库

    5. **Building HTML5 Canvas Bar Graph**:此示例展示了如何使用HTML5 Canvas和JavaScript创建自定义的条形图,适用于需要展示分类数据的应用。 6. **HTML5 Graph Slider**:这是一个动态图形查看器,能够接收...

    Html5二维库及说明

    5. **性能优化**:二维库往往具有优化机制,如批处理渲染,能有效减少重绘次数,提高游戏性能。 以HTML5的Pixi.js为例,它是一个轻量级且强大的2D渲染引擎,支持WebGL和canvas两种渲染方式。在连连看游戏中,开发者...

    html5星空太空粒子动画库插件.zip

    4. **兼容性**:尽管这款插件主要依赖于HTML5特性,但它通常会进行兼容性处理,以确保在不支持HTML5 Canvas的老版本浏览器中也能提供一定的功能或降级方案,这样可以扩大目标用户的范围。 5. **应用场景**:粒子...

    HTML5过场动画切换

    HTML5过场动画切换是网页设计中的一种创新技术,它利用HTML5的现代特性来创建动态、引人入胜的过渡效果,为用户提供更丰富的视觉体验。这些动画不仅仅是静态页面间的简单跳转,而是通过精心设计的动画效果,使得用户...

    h5扫码,jsQR,html5-qrcode

    本文将深入探讨如何利用JavaScript库,如`jsQR`和`html5-qrcode`在H5页面中实现扫码功能,以及与之相关的`uni-app`集成。 首先,`jsQR`是一个纯JavaScript编写的二维码解码库,它能在浏览器环境中解析出二维码的...

    Html5 WebSocket c++ 握手 库

    3. **帧处理**:WebSocket协议中的数据被封装在帧中,库应能解码和编码这些帧。 4. **错误处理**:捕获和处理握手失败、网络中断等异常情况。 5. **安全性支持**:可能包含对WSS(WebSocket over SSL/TLS)的支持,...

    html5绘图工具 基于 HTML5 的 Canvas 技术,拓扑图是电力

    Canvas 提供了一种在浏览器上进行动态图形绘制的能力,使得开发者无需依赖插件就能创建丰富的交互式图形应用。在电力和电信行业中,拓扑图是一种常见的方式,用于表示设备、网络和系统的连接关系,有助于理解和分析...

    html tidy c++库

    1. **安装**:通常,你需要将库文件复制到系统或项目的特定目录下,然后配置编译环境,使编译器能找到库的头文件和链接库。 2. **链接库**:在C++项目的编译选项中,添加对HTML Tidy库的链接指示。 3. **包含头文件*...

    html5media文件,video兼容IE8视频播放

    在实际开发中,将这样的库引入项目,可以通过简单的引用,确保在不支持HTML5的浏览器中也能播放视频,提高了网站的可达性和用户体验。 `video`标签是HTML5的核心元素之一,用于在网页上插入和控制视频内容。它允许...

Global site tag (gtag.js) - Google Analytics