Android Room实体继承

时间:2019-01-12 15:53:12

标签: java android android-room android-database

我已经看到了与此类似的主题,但是没有一个主题可以回答我的问题。


因此,我们有两个类

  • 课程
  • 断裂

他们两个都正在实现 SchoolEntity 接口,该接口具有以下方法:

  1. 日期getStartDate()
  2. 日期getEndDate()

Break 类除了实现此接口外没有任何作用,但是教训具有其他字段和获取器,例如:

  1. 主题
  2. 房间
  3. 老师等

现在,我想使用Android的 Room Persistence Library 保存 SchoolEntity 实例


这是我要保存的列表

List<SchoolEntity> timetable:
 1. Lesson@13da43:
    - Date startDate = Date@ha94j8
    - Date endDate = Date@9kf8kf
    - String subject = "math"
    - String room = "124"
    - String teacher = "Joseph Fold"
 2. Break@j7gfsd:
    - Date startDate = Date@738291
    - Date endDate = Date@fj8fjn

我希望像这样保存在 SQL数据库中:

+----------------------+---------------------+--------+---------+------+-------------+
| start_date           | end_date            | type   | subject | room | teacher     |
+----------------------+---------------------+--------+---------+------+-------------+
| 2019.01.12 08:00:00  | 2019.01.12 08:45:00 | LESSON | math    | 124  | Joseph Fold |
| 2019.01.12 08:45:00  | 2019.01.12 08:55:00 | BREAK  | NULL    | NULL | NULL        |
+----------------------+---------------------+--------+---------+------+-------------+
  

注意:开始日期是主键

最后,我希望能够将保存的信息检索为:

LiveData<List<SchoolEntity>> timetable

我的问题是:

我可以使用Android的Room Persistence Library做到这一点吗?如果是这样,如何实现呢?如果没有,我该怎么用呢?


我的语言是Java,但Kotlin也会使我成为现实。

0 个答案:

没有答案