首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

一个Android 通用方便快捷使用IO库

  • 25-04-24 05:40
  • 3061
  • 6156
juejin.cn

@TOC

前言

我们平时需要进行文件和文件夹的创建,写入文本,图片,xls表格文件,自己临时写代码略显繁琐,甚至不想写,还有SharedPreferences 定义缓存配置存储之类的,虽然已经有MMKV框架了,但这些在项目大一点的时候定义的key 很难管理,所以基于以上问题痛点,I-and-io 库诞生了


一、I-and-io是什么?

是一个方便我们开发者方便快捷高效,进行io操作读写文件的一个库

二、使用步骤

1.增加Maven仓库地址

代码如下(示例):

c
代码解读
复制代码
maven { url 'https://packages.aliyun.com/maven/repository/2386483-release-mhUqVd' credentials { username = "6166b8fa89e1d5005a9f5792" password = "W49P9mYH7aoH" } }

2.增加库依赖

c
代码解读
复制代码
implementation 'com.lyn:io:1.1.2'

3.文件创建读写操作代码实列

c
代码解读
复制代码
//创建test文件夹 FolderFactory.create("test",filesDir.absolutePath) //获取test文件夹抽象实列 val folder = FolderFactory.get("test") //创建hello.txt 并写入 hello world 文本内容 folder?.writeFile("hello.txt","hello world") //读取文本文件 hello.txt内容 val str = folder?.readFile("hello.txt") //将指定路径 ”sdcard/gg.md“ 文件写入到当前test文件夹下 相当于拷贝 val fileInputStream = FileInputStream("sdcard/gg.md") folder?.writeFile(fileInputStream,"gg.md") //将bimap 写入到test 文件夹下 val bitmap = BitmapFactory.decodeStream(assets.open("美女.jpg")) folder?.writeBitmap("美女.jpg",bitmap) //读取美女.jpg bitmap val bitmap = folder?.getBitmap("美女.jpg") //写入xls文件到test val list = mutableListOf() folder?.writeXls(name = "美女电话列表.xls",writeTitle = true, sheet = "0", sheetPosition = 0,list,Person::class.java) //读取test文件夹下的xls文件 val list = folder?.readXls("美女电话列表.xls", curClass = Person::class.java)

4.SharedPreferences 使用

定义 Key 单例静态类,方便统一管理key

c
代码解读
复制代码
object SpKey { @SpString(defaultValue = "0", description = "主页设备1") const val HOME_DEVICE_1 = "homeDevice1" @SpString(defaultValue = "0", description = "主页设备2") const val HOME_DEVICE_2 = "homeDevice2" @SpString(defaultValue = "0", description = "主页设备3") const val HOME_DEVICE_3 = "homeDevice3" @SpString(defaultValue = "0", description = "主页设备4") const val HOME_DEVICE_4 = "homeDevice4" }

初始化创建

c
代码解读
复制代码
//推荐使用mmkv 传入SharedPreferences 因为mmkv 实现了 SharedPreferences 接口 SpFactory.create(MMKV.defaultMMKV(), defaultT = SpKey::class) //使用原生SharedPreferences SpFactory.create(applicationContext,defaultT = SpKey::class) val sp = SpFactory.get() sp?.setString(SpKey.HOME_DEVICE_1,"123") val str = sp?.getString(SpKey.HOME_DEVICE_1) // int float long 都是一样操作,这里不写示例

总结

总体使用个人还是觉得简单高效,方便把,具体使用和改进,欢迎各位老哥大佬多提提意见。

注:本文转载自juejin.cn的草丛躲猫猫的文章"https://juejin.cn/post/7478579850924802067"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

140
Android
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top