かずおの開発ブログ(主にRuby)

日々の開発のことを色々書きます。

getAppContextをActivityクラス以外から呼ぶ

内容は表題の通りです。

getAppContextメソッドをActivityクラス以外から呼びたいというかこれができないとActivityクラスがどんどん巨大になってしまいます。

調べたらすぐ出てきました。

やり方としてはApplicationクラスを継承したクラスを作成してstaticで呼べるようにしていまうというものです。

1. Android Manifestを編集する

まずAndroidManifestファイルを編集してこんな感じに書きます。

gist.github.com

com.aaa.bbb.ccc前の部分は作成中のアプリのmanifestタグ内のpackage名の部分になります。 Myapplicationの部分はこの後作るApplicationクラスの名前と同じであればなんでも構いません。

2. Applicationクラスを作成

続いて、MyApplicationクラスを作ります。

アプリが起動した際にgetAppContextが走りあとはこのクラスがContextを返してくれるようになるので

、ActivityクラスじゃなくてもどこからでもアプリのContextを参照できるようになります。

ちなみにこれはほとんど同じことがここに書いています。笑

Static Way to get Context on android? - Stack Overflow

クラス名の設定が若干はまったので備忘として