【发布时间】:2017-10-15 03:08:18
【问题描述】:
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 到 List 的转换器应该如何?
我有单个物体的变形器,他看起来像这样:
fun chooseRace(): Single<Image> = imagesAdi.getSingleImage()
.map { chooseRaceMapper.invoke(it) }
.doOnSuccess {
database.addDetectedResult(it)
.subscribeIgnoreResult()
requestImages()
}
你能帮我写一个“List”类型的转换器吗?我试着做到了,但没有成功。谢谢。对不起我的英语不好。
或者从 List 到 List 的转换应该在 Mapper 类中更好? (在方法调用中)
【问题讨论】:
-
嗯,你有一个图像列表,但你只需要一个。我想你只需要在列表中选择一个。你要哪一个?
-
@marstran 我需要将对象从 List
转换为 List 的列表类型和函数 chooseRace 返回 Single - >