korechi’s diary

とあるVR/ARエンジニアのブログ

Androidアプリ制作の際に出てくる謎のワードたち

Context

アプリケーションの環境情報等をAndroidSystem間で受け渡す際のインターフェース。
アクティビティの起動やブロードキャスト、インテントの受け取りといった他のアプリからの応答を行え、アンドロイド特有のリソース・クラスにアクセス可。
つまり、アプリの状態の受け渡しを行うためにContextを渡す(らしい)

  • ActivityのContext
    を取得するには、(Activityを継承してるクラスで)thisで呼ぶ
  • ApplicationのContext を取得するには、getApplicationContext()を呼ぶ

thisで受け取る情報とgetApplicationContext()で受け取る情報は同じらしいが、getApplicationContext()の方が良いらしい。。

Intent

インテントには「意図」「目的」という意味があり、主にアクティビティを起動する際のパラメータに使われる

  • 明示的インテント
    アクティビティを直接指定して起動
  • 暗黙的インテント
    明示的に起動させるアクティビティを指定せずにインテントのパラメータに起動するアクティビティをある程度推測できるだけの情報(インテントフィルター)を入れておくと、該当するアクティビティが起動するようになっている。
    (該当するアクティビティが複数ある場合はユーザーが起動するアクティビティを選択するダイアログが表示されます。該当するアクティビティがない場合は起動に失敗します。)

つまり、起動元からは実際に起動するアクティビティが何なのかはわからない。

明示的インテントの使用例

   Intent intent = new Intent(this, xxx.xxx.xxx.class); //xxxにはパッケージのパスが入る
   startActivity(intent);

暗黙的インテントの使用例

 Intent intent = new Intent();
 intent.setAction(Intent.ACTION_SEND);
 intent.setType("image/jpeg");
 intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("jpegファイルの場所"));
 startActivity(intent);

インスタンスとオブジェクト

インスタンス…クラスの実体(new Hoge()自体)
オブジェクト…インスタンスやクラスの総称
クラス…オブジェクトを表現したもの

Activity

Androidアプリの中核を成す概念で,アプリのライフサイクルや画面遷移に密接に関わるオブジェクト。
Activity=アプリ上の1画面でよい。