为什么AndroidManifest.xml文件具有冗余的android:label属性?

为什么AndroidManifest.xml文件具有冗余的android:label属性?,android,android-manifest,Android,Android Manifest,在应用程序元素的android:label上: 整个应用程序的用户可读标签,以及每个应用程序组件的默认标签 然而,有一个世界的例子清单的形式 <application ... android:label="@string/app_name"> <activity ... android:label="@string/app_name"> ... </activity> <activity ... android:label="@strin

在应用程序元素的
android:label
上:

整个应用程序的用户可读标签,以及每个应用程序组件的默认标签

然而,有一个世界的例子清单的形式

<application ... android:label="@string/app_name">
    <activity ... android:label="@string/app_name"> ... </activity>
    <activity ... android:label="@string/app_name"> ... </activity>
    ...
</application>

... 
... 
...
我所拥有的每一本安卓书籍都是这样做的,包括公共软件书籍。只要浏览一下SDK示例,就会发现ContactManager可以做到这一点,但Snake或Lunar Lander不能做到


这样复制属性是否有历史原因?还是像人们在post存根代码中留下的Eclipse存根注释(有一个例子是书籍示例),或者像我自己的模拟清单中的重复标签,只是人们没有想到的东西?

我认为带有属性
android:label
活动
标签是不必要的,除了要使活动的标题与应用程序标签不同外,您可以使用自己的标签。默认值应与应用程序标签相同。

我认为带有属性
android:label
activity
标签是不必要的,除非您希望使活动的标题与应用程序标签不同,否则您可以使用自己的标签。默认值应与应用程序标签相同。

单个应用程序在Android Launcher中可以有多个on图标,因为每个图标都可以映射到单个活动。具有以下意图过滤器的活动将在启动器中显示为独立图标

<intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>


android:label的值将显示为lancher中该图标下的名称

单个应用程序在android Launcher中可以有多个图标,因为每个图标都可以映射到单个活动。具有以下意图过滤器的活动将在启动器中显示为独立图标

<intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>


android:label的值将显示为lancher中该图标下的名称

API 2(android 1.1)SDK示例的AndroidManifest.xml没有这种冗余。我的结论是,它从来没有必要,而且它是cargo cult编程的一个(无害的)示例。

API 2(Android 1.1)SDK示例中的AndroidManifest.xml没有这种冗余。我的结论是,这从来没有必要,这是cargo cult编程的一个(无害的)例子。

这回答了我没有问的问题“android:label用于什么?”这回答了我没有问的问题“android:label用于什么?”。