# DiskLruCache **Repository Path**: hihopeorg/DiskLruCache ## Basic Information - **Project Name**: DiskLruCache - **Description**: No description available - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2021-02-27 - **Last Updated**: 2021-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DiskLruCache **本项目是基于开源项目DiskLruCache进行ohos化的移植和开发的,可以通过项目标签以及github地址( https://github.com/JakeWharton/DiskLruCache )追踪到原项目版本** #### 项目介绍 - 项目名称:缓存的基础框架 - 所属系列:ohos的第三方组件适配移植 - 功能:数据的缓存,获取缓存文件大小、目录,删除缓存 - 项目移植状态:完成 - 调用差异:无 - 项目作者和维护人:hihope - 联系方式:hihope@hoperun.com - 原项目Doc地址:https://github.com/JakeWharton/DiskLruCache - 原项目基线版本:v2.0.2,sha1:3e016356cfc7e5f9644a7a732fe0223e9742e024 - 编程语言:Java - 外部库依赖:无 #### 效果展示 ![avatar](animation.gif) #### 安装教程 方法1. 1. 编译依赖包 disklrucache-release.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 'http://106.15.92.248:8081/repository/Releases/' } } ``` 2. 在应用模块的build.gradle的dependencies闭包中,添加如下代码: ``` dependencies { implementation 'com.jakewharton.ohos:disklrucache:1.0.1' } ``` #### 使用说明 1. 初始化缓存库 ```java DiskLruCache diskLruCache = DiskLruCache.open( Utils.getDiskCacheDir(getContext(), "cache"), Utils.getAppVersion(getContext()), 1, 1024 * 1024 * 10 ); ``` 2. 保存缓存数据 ```java private void saveData(String key, String value) { try { DiskLruCache.Editor editor = diskLruCache.edit(key); editor.newOutputStream(0).write(value.getBytes()); editor.commit(); } catch (Exception e) { e.printStackTrace(); } } ``` 3. 获取缓存数据 ```java private String getData(String key) { try { String value = diskLruCache.get(key).getString(0); return value; } catch (Exception e) { return null; } } ``` 4. 获取缓存数据的大小 ```java private long getDataSize() { long size = diskLruCache.size(); return long; } ``` 5. 按key删除缓存数据 ```java private boolean deleteData(String key) { try { boolean res = diskLruCache.remove(key); return res; } catch (Exception e) { return null; } } ``` 6. 清空全部缓存 ```java private void deleteAllData() { try { diskLruCache.delete(); } catch (Exception e) { e.printStackTrace(); } } ``` 7. 获取缓存数据的目录 ```java private File getDirPath() { File file = diskLruCache.getDirectory(); return file; } ``` #### 版本迭代 - v1.0.1 #### 版权和许可信息 - Apache Licence