[Android] 005. HTTP通信(HttpURLConnection)

Web APIモックサーバ(Swagger(yaml)+prism)で作った環境にAndroid StudioのEmulatorからアクセス確認
まずは↓を流用してHttpURLConnectionでアクセス
https://bps-e.com/dev/android-003-014/

<?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"
suspend fun TestApi(id: Int) = coroutineScope {
    val baseUrl = "http://10.0.2.2:4010"
    HttpClient.Get(
        "$baseUrl/test?id=$id",
        onError = {
            Log.d("TestApi", "onError: ${it.localizedMessage}")
        }
    ) { code, data ->
        if (code == HttpClient.OK) {
            Log.d("TestApi", String(data, Charsets.UTF_8))
        }
    }
}

@Composable
fun Screen(modifier: Modifier = Modifier) {
    val scope = rememberCoroutineScope()
    Column(modifier.fillMaxSize()) {
        Button(
            onClick = {
                scope.launch(Dispatchers.IO) {
                    TestApi(1)
                }
            }
        ) {
            Text("GET")
        }
    }
}

Android Studio Koala 2024.1.1 Patch 1 built on July 11, 2024