android 为什么webview不能使用web sql database 而自带的浏览器可以?
具体效果可以用自带的浏览器和自已写的webview访问:http://www.webkit.org/demos/sticky-notes/index.html试试...
具体效果可以用自带的浏览器和自已写的webview访问:http://www.webkit.org/demos/sticky-notes/index.html试试
展开
2个回答
展开全部
可以的,设置如下步骤:
WebSettings settings = webview.getSettings();
//设置与Js交互的权限
settings.setJavaScriptEnabled(true);
//设置数据库可用
settings.setDatabaseEnabled(true);
String dbPath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
settings.setDatabasePath(dbPath);
然后
webview.setWebChromeClient(new MyChromeViewClient());
class MyChromeViewClient extends WebChromeClient {
//重写这个方法就OK 了
@Override
public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater)
{
//设置数据库存储大小,最大是5*1024*1024,也就是5MB
quotaUpdater.updateQuota(estimatedSize * 2);
}
}
WebSettings settings = webview.getSettings();
//设置与Js交互的权限
settings.setJavaScriptEnabled(true);
//设置数据库可用
settings.setDatabaseEnabled(true);
String dbPath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
settings.setDatabasePath(dbPath);
然后
webview.setWebChromeClient(new MyChromeViewClient());
class MyChromeViewClient extends WebChromeClient {
//重写这个方法就OK 了
@Override
public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater)
{
//设置数据库存储大小,最大是5*1024*1024,也就是5MB
quotaUpdater.updateQuota(estimatedSize * 2);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询