问题描述
如果我有以下课程,如何使用Proto DataStore保存它的列表?
data class Tag(
val id: int,val name: String
)
我看到的所有指南都在教如何仅保存单个对象。可以列出吗?
解决方法
您应该考虑将内容列表存储在Room中,即使原始数据存储也不是存储复杂内容的适当解决方案,
如果您仍然愿意,我建议您将存储的数据限制为10-15个项目
到代码--->
- 创建您的原始文件,重复该操作用于为Java创建
list
类型
message Student {
string id = 1;
string name = 2;
}
message Class {
string teacher = 1;
repeated Student students = 2; // repeated => list
}
- 在原型商店内,
dataStore.updateData { store ->
store.toBuilder()
.clearStudents() // clear previous list
.setAllStudents(students)// add the new list
.build()
}
如果您想示例签出我的示例应用程序,请读取数据/域层 https://github.com/ch8n/Jetpack-compose-thatsMine