7.1 Retrofit + OkHttp
interface Api { @GET("/users") suspend fun users(): List<User> }
val client = OkHttpClient.Builder()
.addInterceptor(HttpLoggingInterceptor().apply { level = BODY })
.build()
val retrofit = Retrofit.Builder()
.client(client)
.baseUrl("https://api.example.com")
.addConverterFactory(GsonConverterFactory.create())
.build()
val api = retrofit.create(Api::class.java)
7.2 序列化
- Gson 或
kotlinx.serialization:
kotlin
@Serializable data class User(val id: Int, val name: String)
## 7.3 网络状态与错误处理
- 超时、重试、连接性监控(ConnectivityManager)。