安卓几支持html5,Android的webview支持HTML5的离线应用功能详细配置

因为需要,我要在andriod手机上用webview给我的HTML5项目加一个壳,但第一次将项目封装进andriod里面时,我测试输出的alert尽然是不支持HTML5 web缓存,这让我很郁闷,在网上找了了一些资料看了一下,测试了几次终于通了,因为我不是搞andriod的,所以就不详细介绍了,把代码分享给大家:

MainActivity.java类:

package com.example.test;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.util.Log;

import android.view.KeyEvent;

import android.webkit.WebChromeClient;

import android.webkit.WebSettings;

import android.webkit.WebStorage;

import android.webkit.WebView;

import android.webkit.WebViewClient;

public class MainActivity extends Activity {

WebView webview;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

webview = (WebView) findViewById(R.id.webView1);

webview.getSettings().setJavaScriptEnabled(true);

webview.setWebViewClient(new HelloWebViewClient());

webview.loadUrl("file:///android_asset/indexfuza.html");

WebSettings settings = webview.getSettings();

settings.setJavaScriptEnabled(true);

settings.setDatabaseEnabled(true);

String databasePath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();

settings.setDatabasePath(databasePath);

WebSettings webseting = webview.getSettings();

webseting.setDomStorageEnabled(true);

webseting.setAppCacheMaxSize(1024*1024*8);//设置缓冲大小,我设的是8M

String appCacheDir = this.getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath();

webseting.setAppCachePath(appCacheDir);

webseting.setAllowFileAccess(true);

webseting.setAppCacheEnabled(true);

webseting.setCacheMode(WebSettings.LOAD_DEFAULT);

webview.setWebChromeClient(new WebChromeClient() {

public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {

quotaUpdater.updateQuota(5 * 1024 * 1024);

}

});

}

public boolean onKeyDown(int keyCode, KeyEvent event) {

if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {

webview.goBack();

return true;

}

return super.onKeyDown(keyCode, event);

}

private class HelloWebViewClient extends WebViewClient {

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

}

}layout里面的activity_main.xml文件:

其他的地方我也没动,就这样就支持HTML5 web存储啦。。。。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值