WebView 封装库。基于腾讯 x5 开源库,提高 WebView 开发效率,大概能节约百分之六十的时间成本。
该案例支持处理 js 的交互逻辑且无耦合,同时暴露进度条加载进度,可以监听异常 error 状态,支持视频播放,并且可以全频,支持加载 word、xls、ppt、pdf、txt 等文件文档,发短信,打电话,发邮件,打开文件操作上传图片,唤起原生 App。
x5 库为最新版本,功能强大。
案例展示效果
- WebView 启动过程大概分为以下几个阶段,这里借鉴美团的一张图片
该库功能和优势
- 提高 WebView 开发效率,大概要节约你百分之六十的时间成本,一键初始化操作;
- 支持处理 js 的交互逻辑,方便快捷,并且无耦合,操作十分简单,优雅解决重定向回退,白屏等问题;
- 暴露进度条加载进度,结束,以及异常状态 (分多种状态:无网络,404,onReceivedError,sslError 异常等) listener 给开发者;
- 支持视频播放,可以切换成全频播放视频,可旋转屏幕,暴露视频操作监听 listener 给开发者;
- 集成了腾讯 x5 的 WebView,最新版本,功能强大;
- 支持打开文件的操作,比如打开相册,然后选中图片上传,兼容版本 (5.0);
- 支持加载 word,xls,ppt,pdf,txt 等文件文档,使用方法十分简单;
- 支持设置仿微信加载 H5 页面进度条,完全无耦合,操作简单,极大提高用户体验;
- 支持用户按照规范自定义 WebViewClient 和 WebChromeClient,不影响 js 通信;
- 汇集绝大多数问题,以及解决方案,是学习和深入理解 WebView 的一个比较全面的案例;
- 除了 WebView 自带缓存外,还添加了资源拦截缓存,交给 OkHttp 去做,支持设置超时,设置缓存空间大小;
- 统一处理 Web 页面打电话,发短信,定位,邮件,开启支付宝,微信等 scheme 拦截处理;
- 充分运用了面向对象的设计思想,将视频全屏播放,scheme 拦截,web 进度条,拦截缓存抽成独立的部分,你也可以拿来即用,完全解耦;
- 添加了阿里的 https+dns 优化方案,按照配置初始化填入 accountID 和 host 即可使用。
评论