Простые вопросы AndroidManifest.xml - PullRequest
0 голосов
/ 11 февраля 2012

Во-первых, нужно ли создавать новый <activity> в моем AndroidManifest.xml для каждого нового класса Java?

Во-вторых, вот мой AndoidManifest.xml

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

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

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".GymRatActivity"
            android:label="@string/app_name" 
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity 
            android:name="mainmenu"
            android:label="@string/app_name" 
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

Это выглядит правильно? Потому что, когда я запускаю эмулятор, он показывает две иконки, поэтому я не уверен, правильно ли я все настроил. Единственное добавление, которое я сделал, - это избавиться от строки заголовка.

Третий и последний, как вы определяете имя значка приложения, чтобы оно не было именем AVD по умолчанию?

Ответы [ 3 ]

2 голосов
/ 11 февраля 2012

Да, вам нужно создать новую запись действия в файле манифеста для каждого действия.Причина, по которой вы видите две иконки, состоит в том, что вы пометили их обеими буквами android.intent.category.LAUNCHER.Это должно быть зарезервировано для вещей, которые вы хотите отобразить в панели запуска.

Аналогично, действие MAIN должно использоваться только для главной точки входа вашего приложения.

КстатиКакие имена классов вашей деятельности?Я предполагаю, что это не mainmenu, поэтому вам нужно настроить имя на фактическое имя класса.Кроме того, вы должны добавить точку (например, если имя класса MainMenu, напишите .MainMenu).

И имя должно быть тем, которое вы указали в метке.

1 голос
/ 11 февраля 2012

Я хотел бы прокомментировать выше, но моей репутации все еще недостаточно.

Имя, которое появляется на ярлыке значка, определяется app_name, что определено в strings.xml.

0 голосов
/ 14 июня 2012
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.Alan.Gym_Rat"
android:versionCode="1"
android:versionName="1.0" >

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

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".GymRatActivity"
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity 
        android:name=".MainMenu"
        android:screenOrientation="portrait" /*In case you want to set orientation of  
       screen.In similar you can use other properties according to requirement*/  
    >
    </activity>
     </application>

     </manifest>
...