# CacheWebView
**Repository Path**: openneusoft/CacheWebView
## Basic Information
- **Project Name**: CacheWebView
- **Description**: 定制实现WebView缓存,离线网站,让cache配置更加简单灵活
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-04-27
- **Last Updated**: 2024-07-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# CacheWebView
**本项目是基于开源项目CacheWebView进行ohos化的移植和开发的,可以通过项目标签以及github地址(https://github.com/yale8848/CacheWebView)追踪到原项目版本**
#### 项目介绍
- 项目名称:缓存网页视图
- 所属系列:ohos的第三方组件适配移植
- 功能:CacheWebView可以定制实现WebView缓存,离线网站,让cache配置更加简单灵活
- 项目移植状态:完成
- 调用差异:无
- 项目作者和维护人:
- 联系方式:
- 原项目Doc地址:
- 原项目基线版本:v2.2.1
- 编程语言:Java
- 外部库依赖:无
#### 效果展示
#### 安装教程
方法1.
1. 编译har包CacheWebView.har。
2. 启动 DevEco Studio,将编译的har包,导入工程目录“entry->libs”下。
3. 在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下har包的引用。
```
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
……
}
```
4. 在导入的har包上点击右键,选择“Add as Library”对包进行引用,选择需要引用的模块,并点击“OK”即引用成功。
方法2.
1. 在工程的build.gradle的allprojects中,添加HAR所在的Maven仓地址
```
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
```
2. 在应用模块的build.gradle的dependencies闭包中,添加如下代码:
```
dependencies {
implementation 'io.github.dzsf:cache-web-view:1.0.1'
}
```
#### 使用说明
1. 实例化一个WebViewCacheInterceptor对象
```
public void init(WebViewCacheInterceptor.Builder builder)
```
2. 实例化一个WebViewCacheInterceptorInst对象
```
public static WebViewCacheInterceptorInst getInstance()
```
3. 根据参数ResourceRequest请求,返回ResourceResponse对象
```
public ResourceResponse interceptRequest(ResourceRequest request)
```
4. 根据参数url链接,返回ResourceResponse对象
```
public ResourceResponse interceptRequest(String url)
```
5. 根据参数WebView对象和url链接,进行缓存处理
```
public void loadUrl(WebView webView, String url)
```
6. 根据参数url链接和userAgent,进行缓存处理
```
public void loadUrl(String url, String userAgent)
```
7. 根据参数url链接、additionalHttpHeaders和userAgent,进行缓存处理
```
public void loadUrl(String url, Map additionalHttpHeaders, String userAgent)
```
8. LinkPreview实现类
```
public void loadUrl(WebView webView, String url, Map additionalHttpHeaders)
```
9. 清除缓存
```
public void clearCache()
```
10. 给缓存设置NORMAL或FORCE两种状态
```
public void enableForce(boolean force)
```
11. 根据参数url链接返回缓存的输入流
```
public InputStream getCacheFile(String url)
```
12. 初始化AssetsLoader
```
public void initAssetsData()
```
13. 获取缓存路径
```
public File getCachePath()
```
#### 版本迭代
- v1.0.1
#### 版权和许可信息
- Apache Licence