2013年5月4日土曜日

Context達。

androidには様々なところで出てくるけど、よく悩まされる存在。

API叩くときに渡すContextは、

・getApplicationContext
・getActivityContext
・this

が使われる。

ActivityContextとthisは同義、Activity毎に存在。
割と良く破棄(解放)される。

ApplicationContextはアプリケーション固有の値。
基本はstatic。

Activity内で渡すなら基本は前者を使って、
どうしても静的に保持したいなら後者かな。


で、そもそもContextって何さ!
→アプリケーションのパーミッション、リソース情報にアクセスするためのインターフェース。

(参照:http://yuki312.blogspot.jp/2012/02/thisgetapplicationcontextactivityapplic.html)


うーん、なんだかわかったようなわからんような・・・

今回はとあるAPIを呼ぶ際にgetApplicationContextを使うとnullpoが返ってきて落ちるので、
どうしたもんかと思っていたが、ActivityのOnCreateに処理移動したら普通に動いた。

Bandleわたってこないとダメなのかなぁ?
不明。