在 Kotlin 中使用 Android Retrofit 和 SimpleXMLConverter 的示例代码如下:
首先,确保在 build.gradle 文件中添加以下依赖项:
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-simplexml:2.9.0'
接下来,创建一个数据类来表示 XML 数据的结构。假设我们的 XML 数据如下:
John
25
创建一个名为 User.kt 的文件,并添加以下代码:
import org.simpleframework.xml.Element
import org.simpleframework.xml.Root
@Root(name = "user", strict = false)
data class User(
@field:Element(name = "name")
var name: String = "",
@field:Element(name = "age")
var age: Int = 0
)
接下来,在你的网络请求接口中定义一个 Retrofit 接口。创建一个名为 ApiService.kt 的文件,并添加以下代码:
import retrofit2.Call
import retrofit2.http.GET
interface ApiService {
@GET("your-api-endpoint")
fun getUser(): Call
}
现在,创建一个 Retrofit 的实例,并为它添加 SimpleXMLConverter。在你的 Activity 或 Fragment 中添加以下代码:
import retrofit2.Retrofit
import retrofit2.converter.simplexml.SimpleXmlConverterFactory
val retrofit = Retrofit.Builder()
.baseUrl("your-base-url")
.addConverterFactory(SimpleXmlConverterFactory.create())
.build()
val apiService = retrofit.create(ApiService::class.java)
val call = apiService.getUser()
call.enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
if (response.isSuccessful) {
val user = response.body()
// 在这里处理返回的用户数据
}
}
override fun onFailure(call: Call, t: Throwable) {
// 在这里处理请求失败的情况
}
})
以上示例代码演示了如何使用 Android Retrofit 和 SimpleXMLConverter 在 Kotlin 中进行网络请求和解析 XML 数据。请根据你的实际情况修改代码中的 API 端点、基础 URL 等。