`
caoxiping
  • 浏览: 30682 次
  • 性别: 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学习资料和源码,库

    这个压缩包文件“HTML5学习资料和源码,库”显然是为了帮助开发者深入理解和掌握HTML5的相关技术。下面将详细介绍HTML5的主要特性、应用领域以及学习资源。 1. **主要特性** - **语义化标签**:HTML5引入了新的...

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

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

    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**...

    Python库 | xlsx2html-0.4.0.tar.gz

    5. **易于集成**:由于Python的灵活性,xlsx2html库可以轻松地与其他Python库(如pandas、openpyxl等)结合,用于更复杂的数据操作和分析。 6. **命令行工具**:除了API接口外,xlsx2html-0.4.0还提供了命令行工具...

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

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

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

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

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

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

    基于html5的Chart.js图表js库

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

    HTML5+Canvas+作图函数库

    在这个“HTML5+Canvas+作图函数库”中,我们将探讨Canvas的基本用法以及一些常用的Canvas绘图函数库。 首先,Canvas API提供了基本的绘图命令,如`fillRect()`用于填充矩形,`beginPath()`和`stroke()`用于描边路径...

    Html5二维库及说明

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

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

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

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

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

    HTML5过场动画切换

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

    HTML5快速开发模板生成器

    4. **现代Web技术集成**:除了基本的HTML5结构,生成器还可能包含JavaScript库(如jQuery)和框架(如Bootstrap),以及Web组件(Web Components)、WebSocket、离线存储(Service Worker)等HTML5新特性。...

    Html5 WebSocket c++ 握手 库

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

    html tidy c++库

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

Global site tag (gtag.js) - Google Analytics