zoukankan      html  css  js  c++  java
  • 利用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 }  
  • 相关阅读:
    CentOS 软件安装(yum 和 rpm)
    Ubuntu下的 PPPoE 拨号上网方法
    Vim 去除因为 Unix 和 Windows 换行符不同带来的 ^M 问题
    Python 在 Windows 下安装第三方包,报 Python 未注册的问题解决
    scipy 安装错误及解决
    Python 字典一个易犯的错误
    Linux查看系统信息
    系统更新报错--NO_PUBKEY
    关于直播的技术整理2
    关于直播的技术整理
  • 原文地址:https://www.cnblogs.com/lvfeilong/p/345dsfdfdg34r5435.html
Copyright © 2011-2022 走看看