Androidアプリ開発TweetAndroidアプリからサーバーにHTTP通信する場合の備忘録です。(androidはまだ勉強を始めたばかりで理解が十分でないので、間違っている部分も多々あると思います。間違いに気づいた時点で修正していくつもりです。)Androidアプリでサーバーと非同期通信処理を行うためには、AsyncTaskを継承したクラスを作成します。AsyncTaskに用意されている以下のメソッドを必要に応じてオーバーライドします。タスク実行前にUIスレッドで実行される。事前準備の処理を実装する。バックグラウンドスレッドで実行される。doInBackGround()でpublishProgress()が呼ばれた場合に実行される。バックグラウンド処理が終了したときに実行される。結果をUIスレッドに反映する処理を実装する。今回は、サーバーにPOSTして結果をJSONもしくは画像を受信することを想定しているのでレスポンスはどちらでも対応できるようにInputStreamを返却しています。サーバーと通信を行うクラスは、マルチパート形式に対応しています。マルチパート形式に対応するためには、以下のライブラリの追加が必要です。項目よりダウンロード(今回私は、httpmime-4.3.3.jarとhttpcore-4.3.2.jarを追加しました。)非同期で通信してレスポンスを起動元に返却するためにコールバックを定義しています。.setMessage("インターネットに接続できませんでした。ネットワーク接続状況を確認してください。AlertDialog.Builder(getActivity()).setMessage("インターネットに接続できませんでした。ネットワーク接続状況を確認してください。MultipartEntityBuilderを使用しています。{this.asyncCallback.onPostExecute(responseIS);}}}}AsyncTaskLoaderやVolleyを利用する方法もあるらしいので、勉強してみようと思います。追記】Volleyについての記事を書きました。コメントを受け付けていません。BluChic当サイトでは閲覧の追跡のためにGoogle・AmazonのサービスによりCookieが使用されています。サイトの閲覧を続けた場合Cookieの使用に同意したことになります。