[Android]AndroidStudioでVolleyを使う


[まとめ] 現在開催中のKindleセール情報はこちら

AndroidでAPI通信を行いたい場合に何を使うのがいいのかなと思い探してみたところ、「Volley」というGoogle製のライブラリを使うと良さそうだったので、インストールしてみました。

1. volley.jarの作成

  • gitからvolleyのコードをcloneしてくる
cd AndroidStudioProjects
git clone https://android.googlesource.com/platform/frameworks/volley
  • volley.jarの作成
cd volley
android update project -p . -t 5
ant jar

これでbin以下にvolley.jarが作成されます

※ 参考記事では

android update project -p .

でビルドできるとあったのですが自分の環境では以下のようにターゲット指定が必要とエラーが出てしまったので

android list targets

を実行し、Android 4.4.2であるid 5を指定しました

# android update project -p . 実行時のエラー内容
Error: The project either has no target set or the target is invalid.
Please provide a --target to the 'android update' command.
It seems that there are sub-projects. If you want to update them
please use the --subprojects parameter.

2. AndroidStudioプロジェクトに取り込む

  • AndroidStudioでプロジェクトを作成(VolleySampleとしました)

  • volley.jarをlibs以下にコピー

cd AndroidStudioProjects
mkdir VolleySample/VolleySample/libs
cp volley/bin/volley.jar VolleySample/VolleySample/libs
  • build.gradleを編集

VolleySample/VolleySample/build.gradle の dependencies に追記します。

dependencies {
    // ・・・
    compile files('libs/volley.jar')
}

ディレクトリ構成はこんな感じです。

volley0

  • Syncを実行

メニューの「Tools」→「Android」→「Sync Project with Gradle Files」を実行します。

これを実行せずにコードを編集してもライブラリが読み込まれていないのでエラーになってしまいます。

また、Syncの前に

private RequestQueue mQueue;

と書いてエラーになっていた場合、Sync後もエラーが出続けてしまっていました。

Sync後に、一度上記コードを消して再度書き直すとエラーは出ずにちゃんと認識しました。

補完も表示されるようになります。

volley2

これに引っかかってハマっていました。。。

とりあえずこれでVolleyが使えるようになりました。

参考

[まとめ] 現在開催中のKindleセール情報はこちら