fly1tkg blog

Androidの非同期通信ライブラリをつかう その2- Android Asynchronous Http Client

続き書くとか言って、半年も書いていなかった。簡単ですが続きを書きます。

Android Asynchronous Http Clientとは?

Androidの非同期通信ライブラリの一つ、詳しくは前回のエントリー記事を参照してください。
僕の調査によるとFxCameraにも使われていますね。このライブラリ。(LICENSE.txtからの確認なので、ソースコードのみの利用かもしれませんが)

半年で変わったことと言えば、同期通信が出来るようになったことですね。(ライブラリ名とレポジトリ名に反してない?)。AsyncTaskなどとの相性で追加したようですが、、、

MyAsyncHttpClientを作る

オススメの使い方としてMyAsyncHttpClientを作ることです。そうすることで、自分の好みにセッティングした通信を行うことが出来ます。

public class MyAsyncHttpClient extends AsyncHttpClient {
    public MyAsyncHttpClient() {
        // ここに設定を書く
    }
}

userAgentを設定する

AsyncHttpClientのデフォルトのuserAgentはAndroid Asynchronous Http Client/VERSION (http://loopj.com/android-async-http/)です。デバッグ等のことを考えるとアプリのパッケージ名やバージョンといった文字列に変更した方が良さそうです。userAgentの変更はAsyncHttpClient#setUserAgent(String userAgent)で任意のものに変更することができます。

setUserAgent("MyApp ver1.0");

Time out時間を設定する

Time outの時間もメソッドが準備されています。AsyncHttpClient#setTimeOut(int timeOut)です。こちらはデフォルトで10秒です

setTimeOut(8);

Basic認証のためのユーザー名とパスワードをセットする

setBasicAuth("user", "password");

注意点

MyAsyncHttpClientを準備したはいいけど、いざ使うときにAsyncHttpClientで実装しないようにしてください(自戒)

(前回)Androidの非同期通信ライブラリをつかう その1- Android Asynchronous Http Client