Androidで外部APIに接続してJSONかXMLを取得する方法

こんにちはmorimoriです。

自作のAndroidのアプリから楽天などの外部APIを使ってJSONかXMLのデータを取得するアプリを作りたいと思って現在調査しています。

調べたところ、自力で実装するならAsyncTaskを継承したクラスを作成し、メインスレッドと別のスレッドで実行される方法があるようです。

qiita.com

結構分かり易く説明されていていますが、呼び出しもとの記述がないので参考に。

f:id:nooootion:20180517203405p:plain

お次はOSSライブラリを使用する方法です。

自作で実装する場合、HTTP通信なので実際はいろいろと考慮しないといけないようですが、なかなか学習コストも掛かって大変ですよね。

そこで難しいことを余り考えずに簡単に実装できるのが「Volley」です。

techbooster.org

使用するにはbuild.gradlen(app)にvolleyを突っ込みます。

f:id:nooootion:20180517204033p:plain

こちらはAsyncTaskと違って別スレッドで非同期通信しなくても使用できるため、

すきなところに実装します。取得するデータ形式によって記述方法が変わりますが、このままコピペしても使用できました。

f:id:nooootion:20180517204418p:plain

正しくデータが取得できればonResponseに入ってきます。エラーした場合はErrorListerにキャッチされるようになっています。

まとめ

調査段階のため簡単にどんな感じで実装できるか確認してみましたが、結構簡単に使用できそうなので安心しました。