【Androidアプリ開発】okhttpでWebSocketを利用する
salmoncode
TechTopic
Androidアプリでサーバーと通信する際、HTTPリクエストの実装は避けて通れません。
この記事では、OkHttpライブラリを用いてシンプルにHTTP通信を実装する方法を紹介します。
まず、build.gradle に以下を追加します。
最もシンプルな通信の例がこちらです。
📌 ポイント
enqueue() を使うことで非同期通信になります。response.body?.string() は1回しか呼べないので注意。データを送信する場合は、RequestBody を利用します。
実用アプリでは、通信遅延やタイムアウトに備える必要があります。
<script src="https://gist.github.com/salmoncode/562b0d46b9bd654d2631d9e150c8714f.js"></script>
また、サーバーエラーなどのステータスコードもチェックしましょう。
OkHttpは非常に軽量で柔軟ですが、アプリ全体でAPI通信を行う場合はRetrofit との併用が一般的です。
| 項目 | OkHttp | Retrofit |
|---|---|---|
| 利用目的 | 基盤となる通信層 | 高レベルのAPIクライアント |
| メリット | 軽量・シンプル | データクラスと連携が容易 |
| デメリット | コード量が多い | 依存関係が増える |
