Jetpack的DataStore存储超级详细教程——Proto DataStore
前言
Proto DataStore使用方法相对Preferences DataStore较为复杂,导入插件和依赖,编写proto文件,编译项目,才可以使用
环境(仅供参考):Android Studio4.1 + kotlin1.3.21 + androidx + 协程
使用步骤
导入插件和依赖,配置proto(主项目build上添加)
1、导入plugins 插件
plugins {
id "com.google.protobuf" version "0.8.12" // 第一步
}
2、导入依赖包
// 在调用api的时候,使用了
api "androidx.datastore:datastore-preferences:1.0.0-alpha06"
// proto主要使用
api "androidx.datastore:datastore-core:1.0.0-alpha06"
api "com.google.protobuf:protobuf-javalite:3.10.0"
3、配置 protoc 命令(最外层写入)
/**
* 注意配置 protoc 命令,分为不同的版本,版本不同配置的方式不同,
* 网上大部分都是 3.0.x ~ 3.7.x 的配置方式,关于这种配置方法,可以查看 [protobuf-gradle-plugin](https://github.com/google/protobuf-gradle-plugin) 文档,
* 这里不在演示了,也不建议使用
* 在此项目中使用的是 3.8 以后 的配置的配置,
*/
protobuf {
// 设置 protoc 的版本
protoc {
// //从仓库下载 protoc 这里的版本号需要与依赖 com.google.protobuf:protobuf-javalite:xxx 版本相同
artifact = 'com.google.protobuf:protoc:3.10.0'
}
generateProtoTasks {
all().each {
task ->
task.builtins {
java {
option "lite"
}
}
}
}
// 默认生成目录 $buildDir/generated/source/proto 通过 generatedFilesBaseDir 改变生成位置
generatedFilesBaseDir = "$projectDir/src/main"
}
4、设置 proto 文件位置
android {
sourceSets {
main {
proto {
// proto 文件默认路径是 src/main/proto
// 可以通过 srcDir 修改 proto 文件的位置
srcDir 'src/main/proto'
}
}
}
}
编译一下项目
完整代码如下
plugins {
id 'com.android.application'
id 'kotlin-android'
id

本文详细介绍了如何在Android项目中使用Jetpack的ProtoDataStore进行数据存储,包括配置protobuf插件、依赖、编写proto文件以及使用DataStore的步骤。示例代码展示了如何定义Serializer、创建DataStore实例以及进行数据的读写操作。
最低0.47元/天 解锁文章
148

被折叠的 条评论
为什么被折叠?



