如何对房间的数据进行分类?



我正在为一家餐厅编写一个简单的应用程序(仅用于练习(,食品分为三类(例如快餐,沙拉和三明治(。我想根据用户在MainActivity中选择的类别,在三个不同的RecyclerView中显示这些食物。 我这样做的策略(我认为这不好(是:

1.我有一个枚举类,每个类别有三个项目。

枚举类类型 { 快餐, 沙拉 三明治 }

  1. 每个食物的构造函数中都有一个参数:

类 食品(... , 类型: 类型(

    根据
  1. 房间 db 的类型获取特殊类别

@Query (从食物中选择 * 其中类型=:类型(
乐趣获取快餐(类型:类型(: 列表

是否有更好的方法对 Room 中的项目进行分类? getFastFood方法是否有效地从Room获取数据?

只需使用转换器,例如

@TypeConverters(Converters::class)
abstract class Database : RoomDatabase()
object Converters {
@JvmStatic
@TypeConverter
fun fromTypes(value: Types): String {
return value.toString()
}
@JvmStatic
@TypeConverter
fun toTypes(value: String): Types {
return Types.valueOf(value)
}
}

现在在db中Types字段存储为字符串,这是枚举的名称属性

最新更新