这里我有3种方法可以获得3种不同类型的数据列表 以下这些代码在
中@Dao
public interface GlassesDao {
@Query("SELECT * FROM len")
Flowable<List<Glasses>> getAllLens();
@Query("SELECT * FROM frame")
Flowable<List<Glasses>> getAllFrames();
@Query("SELECT * FROM framecolor")
Flowable<List<Glasses>> getAllFrameColors();
现在我希望它将它们作为地图返回
@Transaction //idk if Transaction is used like this
Flowable<Map<String, List<Glasses>>> getAll()
并提出一些附加问题,但仍然参考标题,我认为: 我用来获取对象列表的代码是否正确?如果不是如何制作它?
现在有3个儿童班级别的“眼镜”,我想要这3个孩子的3张桌子,但不需要眼镜(实际上没有真正的“眼镜”只需要3个参数,如上面的代码所示“len,frame,framecolor”) 但我必须使用父子模式,因为我需要将它们组合成一个列表,就像地图所示。
Map<String, List<Glasses>>
如果我的问题被理解,请尽快,但感谢您的宝贵时间!
答案 0 :(得分:0)
像这样。
Flowable.zip(database.dao().getAllLens(),
database.dao().getAllFrames(),
database.dao().getAllFrameColors(),
new Function3<List<Glasses>, List<Glasses>, List<Glasses>, Map<String, List<Glasses>>>() {
@Override
public Map<String, List<Glasses>> apply(List<Glasses> o, List<Glasses> o2, List<Glasses> o3) throws Exception {
/* Perform map population here */
}
});