月別: 2014年3月

非同期通信 (AsyncTask)

 

AndroidアプリからサーバーにHTTP通信する場合の備忘録です。
(androidはまだ勉強を始めたばかりで理解が十分でないので、間違っている部分も多々あると思います。
間違いに気づいた時点で修正していくつもりです。)

 

Androidアプリでサーバーと非同期通信処理を行うためには、AsyncTaskを継承したクラスを作成します。
AsyncTaskに用意されている以下のメソッドを必要に応じてオーバーライドします。
(1)onPreExecute()   ・・・ タスク実行前にUIスレッドで実行される。事前準備の処理を実装する。(例:プログレスバー表示)
(2)doInBackground()  ・・・ バックグラウンドスレッドで実行される。実装必須。
(3)onProgressUpdate() ・・・ doInBackGround()でpublishProgress()が呼ばれた場合に実行される。(例:進行状況表示)
(4)onPostExecute()   ・・・ バックグラウンド処理が終了したときに実行される。結果をUIスレッドに反映する処理を実装する。

今回は、サーバーにPOSTして結果をJSONもしくは画像を受信することを想定しているので
レスポンスはどちらでも対応できるようにInputStreamを返却しています。

サーバーと通信を行うクラスは、マルチパート形式に対応しています。
マルチパート形式に対応するためには、以下のライブラリの追加が必要です。
・httpmime-x.x.x.jar
http://hc.apache.org/downloads.cgi ⇒ HttpClient x.x.x (GA) の項目よりダウンロード
(今回私は、httpmime-4.3.3.jarとhttpcore-4.3.2.jarを追加しました。)

非同期で通信してレスポンスを起動元に返却するためにコールバックを定義しています。

(さらに…)

iCloudストレージプラン継続時にStoreクレジット(iTunesカード)は使える!?

 

昨年、iCloudの追加ストレージを購入し、1年経ったので
継続時にも iTunesカードを使って支払えるのか試してみました。

昨年安く購入したiTunesカードのStoreクレジット残高がまだ4000円以上あるので、
これを使いたいと思います。

★iTunesカードが使えるか結論だけ知りたい方はこちら

現在のプランは、20GB(合計25GB)です。
現在のプラン

(さらに…)