• 利用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 }  
  • 相关阅读:
    5月26号
    5.17 Quartz笔记
    5.23Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
    5.23@Comfiguration的解释
    5月20号
    5.20
    java与C++不同之处(java不支持特性)
    递归算法之回溯
    0119
    linux打包及备份指令
  • 原文地址:https://www.cnblogs.com/lvfeilong/p/345dsfdfdg34r5435.html
Copyright © 2020-2023  润新知