国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android的webview支持HTML5的離線應用功能詳細配置

2020-04-11 12:38:47
字體:
來源:轉載
供稿:網友
HTML5的離線應用功能可以使得WebApp即使在網絡斷開的情況下仍能正常使用,這是個非常有用的功能。近來工作中也要用到HTML5離線應用功能,由于是在Android平臺上做,所以自然而然的選擇Webview來解析網頁。但如何使Webivew支持HTML5離線應用功能呢,經過反復摸索和上網查找資料,反復做試驗終于成功了。

首先需配置webview的的一些屬性,假設activity中已經有了一個Webview的實例對象,名為m_webview,然后增加以下代碼:
復制代碼 代碼如下:

WebSettings webseting = m_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可以設置一個WebChromeClient對象,在其onReachedMaxAppCacheSize函數對擴充緩沖做出響應。代碼如下
復制代碼 代碼如下:

m_webview.setWebChromeClient(m_chromeClient);
private WebChromeClient m_chromeClient = new WebChromeClient(){
//擴充緩存的容量
@Override
public void onReachedMaxAppCacheSize(long spaceNeeded,
long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
quotaUpdater.updateQuota(spaceNeeded * 2);
}
};

其次要修改http服務器中的配置,使其支持text/cache-manifest,我使用的是apache服務器,是windows版本的,在apache的conf文件夾中找到mime.types文件,打開后在文件的最后加上
“text/cache-manifest mf manifest”,重啟服務器即可。這一步很重要,我就是因為服務器端沒有配置這個,所以失敗了好多次,最后是在附錄鏈接1的回復中找到的線索。
經過以上設置Webview就可以支持HTML5的離線應用了。

附錄鏈接1中說緩沖目錄應該是getApplicationContext().getCacheDir().getAbsolutePath();但我經過試驗后發現設置那個目錄不起作用,可能是Android版本不同吧,我的是Android4.0.3,而他的可能是以前的Android版本吧。

緩沖目錄使用getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath()是從附錄鏈接2中找到的線索。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吕梁市| 古浪县| 轮台县| 宁河县| 潼南县| 临漳县| 裕民县| 呼和浩特市| 涞水县| 巫溪县| 四川省| 兴文县| 仙桃市| 五台县| 通榆县| 石台县| 肇源县| 澄城县| 繁峙县| 台安县| 库车县| 泗阳县| 桃源县| 维西| 长岭县| 左权县| 凤翔县| 山阴县| 唐河县| 赞皇县| 苏尼特右旗| 班戈县| 荥经县| 海城市| 九寨沟县| 独山县| 容城县| 平湖市| 华容县| 平邑县| 沙洋县|