# 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