如何使用 Proto DataStore 保存对象列表
How to save a list of objects with Proto DataStore
如果我有以下 class,如何使用 Proto DataStore 保存它的列表?
data class Tag(
val id: int,
val name: String
)
我看到的所有指南都在教如何只保存一个对象。是否可以列出它?
您应该考虑在 Room 中存储内容列表,即使 proto-datastore 也不是存储复杂内容的合适解决方案,
如果你还想的话,我建议你限制存储的数据为10-15条
到代码--->
- 创建您的原型文件,重复用于为 Java
创建 list
类型
message Student {
string id = 1;
string name = 2;
}
message ClassRoom {
string teacher = 1;
repeated Student students = 2; // repeated => list
}
- 在你的proto-store、
里面
dataStore.updateData { store ->
store.toBuilder()
.clearStudents() // clear previous list
.setAllStudents(students)// add the new list
.build()
}
如果您想查看示例应用程序,请阅读 data/domain 层
https://github.com/ch8n/Jetpack-compose-thatsMine
如果我有以下 class,如何使用 Proto DataStore 保存它的列表?
data class Tag(
val id: int,
val name: String
)
我看到的所有指南都在教如何只保存一个对象。是否可以列出它?
您应该考虑在 Room 中存储内容列表,即使 proto-datastore 也不是存储复杂内容的合适解决方案,
如果你还想的话,我建议你限制存储的数据为10-15条
到代码--->
- 创建您的原型文件,重复用于为 Java 创建
list
类型
message Student {
string id = 1;
string name = 2;
}
message ClassRoom {
string teacher = 1;
repeated Student students = 2; // repeated => list
}
- 在你的proto-store、 里面
dataStore.updateData { store ->
store.toBuilder()
.clearStudents() // clear previous list
.setAllStudents(students)// add the new list
.build()
}
如果您想查看示例应用程序,请阅读 data/domain 层 https://github.com/ch8n/Jetpack-compose-thatsMine