たぶん週刊「今週の進捗」

1週間に勉強したことや実装したことをネタに、週に1回(主に土日に)更新していく予定です。「多分」なので、臨時休刊があってもご海容ください。

プロつく計画2 5週目

AndroidManifest.xml のアレコレについて調べていました。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.zeitungm.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <!-- android:supportsRtl="true" -->

        <activity
            android:name=".HelloWorld"
            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
  • application
    • icon:アプリケーション全体のアイコン
    • label:アプリケーションに実装されたApplicationクラスの完全修飾名
    • theme:アプリケーションの全アクティビティのデフォルトテーマの定義
    • activity
      • name:アクティビティ実装クラス(Activityのサブクラス)の名前
      • label:ユーザが読めるアクティビティのラベル
        • intent-filter
          • action:インテントフィルタにアクションを追加する
            • name:アクションの名前(IntentクラスでACTION_◯◯◯として定数で標準のアクションが定義されている)
            • MAINは「このActivityはアプリのトップ画面」の意(MAIN指定されたアクションは必ず1つだけ存在する)
          • category:カテゴリの名前
            • 標準のカテゴリはIntentクラスでCATEGORY_◯◯◯として定数で定義されている(◯◯◯を接頭辞android.intent.category.の後に繋げる)
            • LAUNCHER は「このAcitivityを立ち上げるアイコンをアプリ一覧に表示する」の意

思ったこと

…作りながらじゃないと理解できる気がしないな!

  • iconはどこかにある画像リソースを指定しているのだろうか?
  • themeとは一体?
  • activityタグは、各アクティビティについて指定する必要がある?
  • アクティビティのラベルとはどこで使うのか?
  • インテントフィルタとは?
  • ACTION_◯◯◯、CATEGORY_◯◯◯には他に何があるのか?何を意味するのか?

余談

風邪引くと熱が出なくても思考力と集中力が大幅に下がるからダメだな。