素人プログラマ奮闘記

javaの初心者がAndroidのことを独学で勉強しつつ、メモを残していきます。

AndroidManifest.xmlについて

アプリケーションを開発していくと、権限を定義しないと使えない機能などが結構あります。
一部の機能を解放するためには権限設定をAndroidManifest.xmlにしないといけません。
ある程度の本数、ソフトを作成したので、一度勉強しておこうと思います。

AndroidManifest.xmlには
アプリケーションのバージョン情報やセキュリティの設定などを行います。
Androidアプリケーションを公開する前には、マニフェスト・ファイルの内容を適切に設定されているかを確認しましょう。

設定するAndroidManifest.xmlは、プロジェクト直下にあります。
ではAndroidManifest.xmlの中身を細かく見ていきましょう。
デフォルトで作成されたAndroidManifest.xmlです。


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.manifesttest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.manifesttest.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>				

manifest

■xmlns:android="http://schemas.android.com/apk/res/android"
 ネームスペースを定義します。
 固定で "http://schemas.android.com/apk/res/android" と設定されている必要があります。

■package="com.example.manifesttest"
パッケージ名です。アプリがインストールされたときに、ほかのアプリとは違うことを識別するためにも
(上書きされてしまうのかな?)この名前は一意でなければなりません。

■android:versionCode="1"
 何回目のアップロードかを表す整数
 もし何かしらの理由でアプリケーションを改造または機能追加などをした場合は
 versionCode="2"などにします。

■android:versionName="1.0"
 自分で任意で決めるバージョン名を表す数字

uses-sdk

 このアプリケーションがどの Android SDK で動作可能なのかを定義します。

■android:minSdkVersion
 動作に必要な API Level を整数で指定します。

■android:targetSdkVersion
 このアプリケーションが動作する最大の API Level を整数で指定します。

●application

アプリケーションのメイン要素です。
この子要素に、様々な要素を指定することができます。

■android:allowBackup="true"
 Backup agentのバックアップ処理を有効にするか無効にするかの設定。

■android:icon="@drawable/ic_launcher"
アプリケーションのデフォルトアイコンを指定します。

■android:label="@string/app_name"
 「Settting」‐「Applications」‐「Manage Applications」で表示されるアプリ一覧に表示される名前です。

■android:theme="@style/AppTheme"
  各画面共通のスタイルテーマを設定します。

activity

Androidでは、1つの画面を1つのActivityで管理しています。
Activityを追加作成したら、まずはManifest.xmlに追加登録を忘れずに行いましょう。
今回の場合はActivity(画面)はMainActivityだけです。

■android:name="com.example.manifesttest.MainActivity"
Activityを継承しているクラスパスを指定します。画面の登録ですね。

■android:label="@string/app_name"
 画面上部のタイトルバーと、Androidデスクトップに表示されるアイコンに表示される名前です。


intent-filter

Intent Filterは、Actionテスト、Categoryテスト、Dataテストの3種類があります。
Intentが投げられた場合、この3つのテストを通過したActivityだけが起動の対象となります。
ほかのソフトから起動された時、またはほかのソフトを起動したい時など、、この部分は奥がふかくて
重要なので、また別の機会に詳しく調べたいとおもいます。

■(Actionテスト)action android:name="android.intent.action.MAIN"
定義するアクションの名前を指定します。
属性に大まかな動作の指定を行います。ほかの設定は以下の通りです。

○android.intent.action.MAIN
アプリケーション起動時のアクションです。
通常、最初に起動するアクティビティに対して設定します。

○android.intent.action.VIEW
データの画面に表示するアクションです。

○android.intent.action.CALL
データを元に電話をかけるアクションです。

○android.intent.action.DIAL
電話をかける画面を表示するアクションです。

○android.intent.action.RUN
データを実行するアクションです。

○android.intent.action.EDIT
ユーザ編集のデータを表示するアクションです。

■(Categoryテスト)category android:name="android.intent.category.LAUNCHER"
categoryタグには、android:name属性にアクションの追加情報を指定します。

○android.intent.category.DEFAULT
標準のカテゴリです。

○android.intent.category.BROWSABLE
ブラウザから安全に起動することが可能であることを示すカテゴリです。

○android.intent.category.HOME
端末が起動された時に最初に起動されるものであることを示すカテゴリです。

○android.intent.category.LAUNCHER
ホームのアイコンから起動可能であることを示すカテゴリです。

○android.intent.category.ALTERNATIVE
ユーザが現在参照している(フォーカスがあたっている)データに対し、代替できる動作が可能であることを示すカテゴリです。

○android.intent.category.SELECTED_ALTERNATIVE
ユーザがメニュー一覧などから選択したデータに対し、代替できる動作が可能であることを示すカテゴリです。

■(Dataテスト)
デフォルト設定ではDataテストは記述されていないため今回は飛ばします。

カテゴリーへ

inserted by FC2 system