相关疑难解决方法(0)

合并两个具有相同观察者类型的 LiveData 对象

我有两个 Room 实体,它们都派生自同一个自定义基类。

@Entity
public class BaseEntity {}

@Entity
public class EntityA extends BaseEntity {
    ...
}

@Entity
public class EntityB extends BaseEntity {
    ...
}
Run Code Online (Sandbox Code Playgroud)

两个派生类都有对应的 Dao 接口。

@Dao
public interface BaseDao {}

@Dao
public interface DaoA extends BaseDao {
    @Query("SELECT * FROM EntityA")
    public LiveData<List<EntityA>> getAll();
}

@Dao
public interface DaoB extends BaseDao {
    @Query("SELECT * FROM EntityB")
    public LiveData<List<EntityB>> getAll();
}
Run Code Online (Sandbox Code Playgroud)

两个表中的数据多样性足以将它们分开存储,但是我的数据访问方法是相同的。因此,我想使用单个 Repository 类同时返回两个表中的条目。

public class Repository {
    private List<BaseDao> daos;
    private LiveData<List<BaseEntity>> entities;

    public Repository(Application application) …
Run Code Online (Sandbox Code Playgroud)

android android-room android-livedata

5
推荐指数
1
解决办法
3959
查看次数

标签 统计

android ×1

android-livedata ×1

android-room ×1