以下是一个使用Android Kotlin进行API请求,并在使用gson处理响应后访问列表的示例代码:
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
data class ListItem(
val id: Int,
val name: String,
val description: String
)
interface ApiService {
@GET("items")
fun getItems(): Call>
}
object ApiManager {
private const val BASE_URL = "https://api.example.com/"
private val retrofit: Retrofit by lazy {
Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build()
}
val apiService: ApiService by lazy {
retrofit.create(ApiService::class.java)
}
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val call = ApiManager.apiService.getItems()
call.enqueue(object : Callback> {
override fun onResponse(call: Call>, response: Response>) {
if (response.isSuccessful) {
val items = response.body()
if (items != null) {
// 访问列表项
for (item in items) {
Log.d("MainActivity", "Item: ${item.name}")
}
}
} else {
Log.e("MainActivity", "Error: ${response.code()}")
}
}
override fun onFailure(call: Call>, t: Throwable) {
Log.e("MainActivity", "Error: ${t.message}")
}
})
}
}
这样,你就可以使用Kotlin进行API请求,并在使用gson处理响应后访问列表项了。