9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Android]思考停止で使っていたcontextを少し掘り下げる

Last updated at Posted at 2021-03-30

Contextってよく使うけども…

今まで、ダイアログ等の引数にcontextを要求されると、条件反射でcontextを打ち込んでいましたが、少しだけ掘り下げてみようかなと思います。

前提としてcontextは、奥が深く完全な理解は難しそうなので、ここでは、Activityで用いるContextとApplicationContextの違いについて触れてみたいと思います。

ApplicationContextとActivityContextの違い

ApplicationContextは、文字通りでアプリ間のライフサイクルと関係していてアプリを起動してから、ずっと生き残って欲しいときに使います。
その為、アプリ間で共有されるローカルデータベースのアクセス等で使われますね。

そして、ActivityContextは流れで分かるかもしれませんが、Activityのライフサイクルと関係しています。その為、ActivityがonDestroy()されると、死にます。
Intentの時に使いますね。

ちなみに、thisもよく使われますが、thisはクラス自体を指します。
勝手な解釈ですが、ActivityContextと同じだと思ってます。

#終わり
軽ーく説明しましたが、何となくパラメータにセットしていたcontextやthisも意味合いを少しだけ具体的に考えると、プログラミングの理解が深まるかもしれません。

手が止まるくらいなら、理解してなくても動くものを実装する優先でいいかもしれないですが、頭打ちになりがちですよね。

なので、今回はcontextを少しだけ掘り下げてみました。

誰かの役に立ちますように…

9
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?