http://cm08323.tmweb.ru/android/determinace/json/images.json
我向服务器发送了一些 json 数据。
我的数据库类:
@Entity
data class Image(val url: String = "", val urlAnswer: String = "", val race: String = "") : DisplayableItem, Persistable
API接口:
interface ImagesAdi {
@GET("android/determinace/json/images.json")
fun getImages(): Single<List<ImagesResponse>>
}
...
class ImagesResponse(
val images: List<ImageSingle>)
class ImageSingle(val url: String,
val url_answer: String,
val race: String)
我为将ImagesResponse转换为Image编写的映射器:
@Singleton
class ChooseRaceMapper @Inject constructor() : (ImageSingle) -> Image {
override fun invoke(response: ImageSingle): Image = Image(response.url, response.url_answer, response.race)
}
如何将 List<ImageSingle> 转换成 List<Image> ?这里是转换器的示例:
我有一个用于单个对象的转换器,它看起来像这样:
fun chooseRace(): Single<Image> = imagesAdi.getSingleImage()
.map { chooseRaceMapper.invoke(it) }
.doOnSuccess {
database.addDetectedResult(it)
.subscribeIgnoreResult()
requestImages()
}
你能帮我编写类型为"List"的转换器吗?我尝试着去做,但是没有成功。谢谢。抱歉我的英语不太好。
或者在Mapper类中进行从List到List的转换会更好吗?(在invoke方法中)