application < manifest
概要
・アプリケーションのメイン要素
・子要素あり
・<manifest>要素の中に定義
allowBackup
android:allowBackup="true"
・バックアップ設定項目 … application単位で設定・falseに設定すると、Backup agentが設定されていてもバックアップ処理が実行されない
icon
android:icon="@drawable/ic_launcher"
・アプリケーションのデフォルトアイコンを指定・コンポーネント単位でも定義可能
・各コンポーネントでデフォルトアイコン設定を行っていない際は、ここに記述された内容がデフォルトとなる
label
android:label="@string/app_name"
・アプリケーションのラベル名称を指定・アイコン同様、すべてのコンテナのサブ要素で設定されていない場合、デフォルトの label になる
※<application> 要素に設定されているアイコンとラベルは、各アプリケーションのコンポーネントに対するデフォルトのアイコンとラベル
・例えば <application> 要素でラベル設定し、コンポーネントの一つである<activity> 要素や「インテントフィルタ」にて「ラベル」設定を行っていない場合、アプリケーションのラベルが「アクティビティ」と「インテントフィルタ」の両方に対するデフォルトラベルとして認識される
theme
android:theme="@style/AppTheme"
・アプリケーションの全てのアクティビティに対するデフォルトのテーマを定義activity < application < manifest
概要
・許可したいActivityのクラス名を指定
・デフォルトでは、全てのActivityの起動が拒否されている
・ここに記述したActivityクラスだけが許可される
・<application>要素の中に定義する
name
android:name=".MainActivity"
label
android:label="@string/title_activity_main"
intent-filter < activity < application < manifest
概要
・インテントの処理を定義(=インテントフィルタを指定)
・具体的には、Activity起動条件(フィルタ)を設定
定義場所
・<activity>要素の中に定義
・子要素として<action>要素を定義する必要がある
・その他「子要素」<category>, <data>
定義する理由
・コンポーネントは、応答できるインテントの種別をインテントフィルタ を介して判断するため
・Android システムは、コンポーネントを起動する前にどのインテントをそのコンポーネントがハンドリング可能なのかを知っておく必要がある
・明示的にターゲットコンポーネントを指名するインテントは、コンポーネントをアクティベートする(=インテントフィルタを介さない)
・しかし、ターゲットを明示していないインテントは、コンポーネントフィルタを通過できた場合に限りそのコンポーネントをアクティベートする仕様となっている
action < intent-filter < activity < application < manifest
概要
・Intent Filter でフィルタリングするアクション名を定義(=インテントフィルタにアクションを追加)
・Intent クラスに定義された定数が利用可
・<intent-filter>要素の中に定義
定数例
コンスタント | ターゲットコンポーネント | アクション |
---|---|---|
ACTION_CALL | アクティビティ |
通話を開始する。 |
ACTION_EDIT | アクティビティ |
ユーザ編集のデータを表示する。 |
ACTION_MAIN | アクティビティ |
データ入力なしかつ出力の返却なしで、タスクの初期アクティビティとして開始する。 |
ACTION_SYNC | アクティビティ |
モバイルデバイス上のデータを使ってサーバのデータを同期化する。 |
ACTION_BATTERY_LOW | ブロードキャストレシーバ |
バッテリー残量が少ないときの警告。 |
ACTION_HEADSET_PLUG | ブロードキャストレシーバ | ヘッドセットがデバイスに取り付けられた、またはそこから取り外された。 |
ACTION_SCREEN_ON | ブロードキャストレシーバ | スクリーンが ON になった。 |
ACTION_TIMEZONE_CHANGED | ブロードキャストレシーバ | タイムゾーンの設定が変更された。 |
name
・定義するアクションの名前を指定
android:name="android.intent.action.MAIN"
category < intent-filter < activity < application < manifest
概要
・フィルタリングするカテゴリ名を定義(=カテゴリ名をインテントフィルタに追加)
・Intent クラスに定義された定数が利用可
・<intent-filter>要素の中に定義
name
・追加するカテゴリの名前を指定
android:name="android.intent.category.LAUNCHER"