kotlinでインターネットに接続する処理
http接続
処理
//接続先のurlを文字列で準備する val urlStr : String = "接続したいurl" //urlの文字列を使ってURLオブジェクトを生成 val url = java.net.URL(urlStr) //URlオブジェクトを使ってHttpURLConnectionオブジェクトを作成 val con = url.openConnection() as HttpURLConnection //接続メソッドをGETに設定 con.requestMethod = "GET" //接続 con.connect() //HttpURLConnectionからレスポンスデータを取得 val stream = con.inputStream //レスポンスデータ(inputStream)を文字列(JSON)に変換 val result = is2String(stream) //HttpURLConnectionオブジェクトを解放 con.disconnect() //InputStreamオブジェクトを解放 stream.close()
https://developer.android.com/reference/kotlin/java/net/URL#
インターネットに接続するために他に必要なこと
ネットに接続するためにアプリケーションがネットに接続する許可が必要になる。これはmanifestファイルにその旨を記述しなければならない。
AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res ...> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <application android:usesCleartextTraffic="true" ...> </application> </manifest>
より良い接続方法
上記ではHttpURLConnectionを使ってHTTP通信を行った。この方法よりもOkHttpやretrofitを使う方法が手軽だと感じた。
https://torajirousan.hatenadiary.jp/entry/2020/02/03/145043
https://torajirousan.hatenadiary.jp/entry/2020/02/26/130413