エラーハンドリングを実装する2017年01月15日(編集2017年01月15日)TweetAndroidアプリでREST形式のAPIを利用する場合、Retrofitを使うと便利です。この記事は、Retrofitでエラーハンドリングを実装する方法を記載した記事です。APIをJavaインターフェースに変更することができるライブラリです。今回の記事で説明するエラーハンドリングの実装は、ネットワーク接続の方法を理解している必要があります。理解不足の場合、まずはこちらの記事を読んで理解してください。appエラーハンドリング実装Retrofitのエラーハンドリングの実装をします。サービスのコールバックインターフェースを作成します。t);}上記のインターフェースは、Responseの結果に必要なメソッドを用意しています。インターフェースは、メソッドの宣言のみ行います。続いて作成したServiceCallbackをActivityで実装します。Generic型変数T(Type)を具体的な値で置き換えます。bodyの型はWeatherオブジェクトです。Weatherオブジェクトで置き換えます。ServiceCallback<Weather>最後に、CallインターフェースのenqueueメソッドにCallbackインターフェースを引き渡します。enqueueCallインターフェースのenqueueメソッドは、リクエストを非同期で送信します。非同期のスレッド処理を開発者が記述する必要がありません。引数にはCallbackインターフェースを受け取ります。このサンプルでは、Callback処理を匿名クラスで記載します。実際は、別クラスを用意しても、Activity内の変数でCallbackインターフェースを宣言しても良いでしょう。}});取得したステータスコードでcallbackに処理を振り分けています。ビルド上記のコードの動作を確認してみましょう。ネットワークエラーを検知するために、機内モードで接続します。networkエラーメッセージが表示されました。実装のポイント実装のポイントは、callback処理です。サービスの結果を受け取るインターフェースを用意することで、ネットワーク処理の実装忘れを防ぐことができます。結論Retrofitは細かくエラーを処理することができます。慣れてきたら、addCallAdapterFactoryを使ってハンドリングしても良いと思います。