DoroidKaigi2024年で発表された「Contextを理解する」の内容を復習をかねてアウトプットする。
コンテキスト(Context)とは
アプリがアプリ内外の色々な情報や機能を取得、利用するための窓口
-
文字列リソースへアクセスする場合
端末の使用言語を取得することができ、それに合わせた文字列を返すことができる。 -
通知の作成&表示を行う場合
Cotextを使用してNotificationManagerにアクセスして通知チャンネルや通知の表示を行える。
通知を作成する際に必要なリソースを取得するために使用される。
Contextの種類と使いわけ
Contextを継承しているクラスはたくさんあるけれど2つだけメモする
-
ActivityContext:
- Activityのライフサイクルに依存
- Activityの情報が必要な処理Activityの起動、テーマに紐づいたUIの表示
-
ApplicationContext:
- Workerを利用した通知処理
- データベースへのアクセス
間違ったContextを指定するとエラーになったり想定通りの動作をしないので、その状況や用途に合った適切なContextを選択する
参考