Retrofit 是目前推荐的用在 Android 开发(Kotlin)中的网络访问库。
暂时先不写太多,就吐槽一下 Kotlin 作为稳定的强类型语言还是抽象的太少了。弄个字符串转JSON都这么麻烦。
import ...
// 创建 Json 序列化器
val json = Json {
ignoreUnknownKeys = true // 防止多余字段导致崩溃
}
// 一行创建 Retrofit 所需的 Converter.Factory
val jsonFactory = json.asConverterFactory("application/json".toMediaType())
// Retrofit 配置示例
val retrofit = Retrofit.Builder()
.baseUrl("https://android-kotlin-fun-mars-server.appspot.com")
.addConverterFactory(jsonFactory)
.build()
interface MarsApiService {
@GET("photos")
suspend fun getPhotos(): List<MarsPhoto>
}
object MarsApi {
val retrofitService: MarsApiService by lazy {
retrofit.create(MarsApiService::class.java)
}
}