Retrofit2のkotlinでの使い方は以下で概ね理解できると思います
https://developer.android.com/codelabs/basic-android-kotlin-compose-getting-data-internet?hl=ja#0
Retrofit2を使用するため以下の依存関係の追加
com.squareup.retrofit2:retrofit
com.squareup.retrofit2:converter-scalars
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">10.0.2.2</domain>
</domain-config>
</network-security-config><uses-permission android:name="android.permission.INTERNET" />
<application
android:networkSecurityConfig="@xml/network_security_config"const val BASE_URL = "http://10.0.2.2:4010"
interface ApiService {
@GET("test")
suspend fun getTest(@Query("id") id: Int): String
}
val retrofit = Retrofit
.Builder()
.addConverterFactory(ScalarsConverterFactory.create())
.baseUrl(BASE_URL)
.build()
object TestApi {
val retrofitService : ApiService by lazy {
retrofit.create(ApiService::class.java)
}
}
@Composable
fun Screen(modifier: Modifier = Modifier) {
val scope = rememberCoroutineScope()
Column(modifier) {
Button(
onClick = {
scope.launch(Dispatchers.IO) {
val response = TestApi.retrofitService.getTest(1)
Log.d("TestApi", response.toString())
}
}
) {
Text("GET")
}
}
}Android Studio Koala 2024.1.1 Patch 1 built on July 11, 2024
