安卓Webview缓存网页数据(无网络正常显示)
热度 1已有 52 次阅读2016-8-26 17:53 |个人分类:常见问题|系统分类:移动开发
一、需求经历
最近的项目是一个原生 +webview 显示的 APP,一开始的时候,网站那边要求我们安卓给他做缓存。后来由于某些因素,这个需求取消了。
由于需求取消,我也没想过怎么去做这个缓存,由于使用 webview 比较少,最这个不是很熟悉。
二、使用场景结合
后来碰巧又和同事 A 聊到了这个话题,原生 APP 和 webview 加载有什么不一样,同事 A 说一打开 APP 的时候,webview 需要去加载,若没有网络的话,就没东西显示,影响用户体验,而原生 APP,就算没有网络,也可以显示内容。
说到这里,我认真思考一番,我们做个缓存,不就得了?由于之前接触过 HTML5 的开发,印象中是有这个一个机制去把这个事情实现。
三、实现
对于 H5 的应用有一个 应用程序缓存(Application Cache)
。
这个实现起来非常轻松。
只要在网站的目录下配置一个扩展名为:.appcache
的 Manifest 文件,注明哪些文件需缓存,哪些文件必须经过网络去加载,然后在<html>
标签中加入 <html manifest="demo.appcache">
即可完成缓存的实现。
这个时候,我们用 webview 去加载这个网站,断网,再打开 APP,网页一样可以显示出来,里面的 js 功能还可以用的哦(这是废话啦)。
参考:
http://www.w3school.com.cn/html5/html_5_app_cache.asp
推荐:
Android应用内存泄露分析、改善经验总结
安卓Webview缓存网页数据(无网络正常显示)相关推荐
- android--------WebView 实现缓存网页数据
WebView中存在着两种缓存:网页数据缓存(存储打开过的页面及资源),H5缓存(即AppCache). 将我们浏览过的网页url已经网页文件(css.图片.js等)保存到数据库表中 缓存模式(5种) ...
- python如何爬虫网页数据-python网络爬虫爬取网页内容
1.什么是网络爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自 ...
- java爬取网页数据_Python网络爬虫实战(二)数据解析
Python网络爬虫实战 (二)数据解析 本系列从零开始阐述如何编写Python网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站 ...
- python爬虫抓取动态网页数据_python网络爬虫抓取ajax动态网页数据:以抓取KFC门店地址为例...
一,尝试用BeautifulSoup抓取 先打开KFC网站门店列表页面:http://www.kfc.com.cn/kfccda/storelist/index.aspx 可以看到门店列表如下图: 打 ...
- 安卓WebView改变网页文字背景颜色
原理为动态向html里面注入js方法,然后执行,不难,直接贴代码 关键代码 在onPageFinished方法里面输入webview.loadUrl("javascript:"+& ...
- 网页html无图片代码显示图片,BASE64编码方式(Date Url)
今天有学到一个有趣的东西,就是用代码直接让浏览器显示图片,我不懂浏览器也实在不知道是什么原理实现的.不过这里记录一下这个代码是怎样生成的. <img src="https://img- ...
- centos7安装在NAT网络模式下无网络,显示“以太网(ens33)被拔出“?
文章目录 一.问题描述: 二.判断网络是否正常 三.如何查看CentOS 7网络连接方式 四.解决方式 一.问题描述: 1.网络显示不可用 2.命令ip addr或ip a找不到本机ip 3.虚拟机网 ...
- Python爬虫之XPath基础教程:用代码抓取网页数据
Python爬虫之XPath基础教程:用代码抓取网页数据 在网络时代,网页数据是获取信息和进行分析的最重要的来源之一.Python的爬虫技术让我们可以轻松抓取网页数据,并进行数据处理.XPath是一种 ...
- Packet Chasing:通过缓存侧信道监视网络数据包
摘要 本文介绍了一种对网络的攻击–Packet Chasing,这种攻击不需要访问网络,无论接收数据包的进程的特权级别如何,都能发挥作用.一个间谍进程可以很容易地探测和发现网络驱动程序使用的每个缓冲区 ...
最新文章
- jquery和原生js-ajax
- php access增删改查,同一窗体实现增删改查
- fastcopy会损坏硬盘_电脑硬盘损坏如何修复?自己动手就能解决
- html5制作交互式课件,用flash制作交互式课件.ppt
- ionic 实用技巧
- 2018年是VR的新机会吗?
- [蓝桥杯][2017年第八届真题]对局匹配
- 微信分享 ajax冲突,微信jssdk分享功能开发及解决ajax跨域的问题
- 仅30分钟,在同一台设备安装discourse和wordpress
- Com 方法默认参数值设置
- zookeeper学习之环境搭建
- ubuntu简单安装oracle,Ubuntu上Oracle10g安装是一件很简单的事情
- 轻量级Java EE企业应用实战(第4版) Struts 2+Spring 4+Hibernate整合开发 含CD光盘1
- 颜值经济风暴来袭,国产美容仪如何站稳脚跟?
- sqlserver tvps java_中毒了,请高手看一下诊断报告。
- linux dns劫持转发,linux的dns被劫持
- 北京市居民公共交通出行特征
- ad软件one pin错误是啥意思_AD错误中英文对照
- 主流的企业级报表工具,国内报表工具排名前列
- 科目二需要注意的点(笔记包含图片讲解)
热门文章
- 经典PV操作问题 [转]
- Mac 安装 MySQL-python 问题解决
- Git学习笔记07-删除文件
- 实力封装:Unity打包AssetBundle(大结局)
- 实时音视频聊天中超低延迟架构的思考与技术实践
- Win7中aero peek的关闭与开启
- 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库
- codeforces水题100道 第十一题 Codeforces Round #143 (Div. 2) A. Team (brute force)
- Java获取数据库表的字段信息,及如何将ResultSet转为json
- linux下配置ip地址四种方法(图文)