利用HTML5开发Android(6)---构建HTML5离线应用

需要提供一个cache manifest文件,理出所有需要在离线状态下使用的资源
例如
Manifest代码
 1 CACHE MANIFEST    
 2 #这是注释   
 3 images/sound-icon.png   
 4 images/background.png   
 5 clock.html    
 6 clock.css    
 7 clock.js     
 8   
 9 NETWORK:    
10 test.cgi   
11   
12 CACHE:    
13 style/default.css   
14   
15 FALLBACK:    
16 /files/projects /projects  
1 在html标签中声明 <html manifest="clock.manifest"> 
2 
3 HTML5离线应用更新缓存机制
4 分为手动更新和自动更新2种
5 自动更新:
6 在cache manifest文件本身发生变化时更新缓存 资源文件发生变化不会触发更新
7 手动更新:
8 使用window.applicationCache
9 Js代码
1 if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {   
2     window.applicationCache.update();   
3
在线状态检测
HTML5 提供了两种检测是否在线的方式:navigator.online(true/false) 和 online/offline事件。

在Android中构建离线应用
Java代码
 1 //开启应用程序缓存   
 2 webSettingssetAppCacheEnabled(true);   
 3 String dir = this.getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath();   
 4 //设置应用缓存的路径   
 5 webSettings.setAppCachePath(dir);   
 6 //设置缓存的模式   
 7 webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);   
 8 //设置应用缓存的最大尺寸   
 9 webSettings.setAppCacheMaxSize(1024*1024*8);   
10   
11 //扩充缓存的容量   
12 public void onReachedMaxAppCacheSize(long spaceNeeded,   
13             long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {   
14     quotaUpdater.updateQuota(spaceNeeded * 2);   
15 }  

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。