2011-09-20 12 views
5

Jestem bardzo początkującym programistom Androida i próbowałem dowiedzieć się, dlaczego moja aplikacja działa wymuszająco na kliknięciu przycisku. Zawęziłem to do kilku rzeczy.AndroidManifest.xml z wieloma znacznikami aplikacji

Jedno pytanie; Czy w manifeście xml można umieścić więcej niż jeden znacznik <application>?

Oto mój kod:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.dummies.android.beergoggles" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="8" /> 

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".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> 
    <activity android:name="Result" android:label="@string/app_name">  </activity> 
</application> 
<application android:name="MyApp" 
    android:icon="@drawable/icon" 
    android:label="@string/app_name2"></application> 

Byłem badania, ale znalazł tylko niejasne stanowisko na temat tworzenia nowego pliku manifestu dla nowej aplikacji. Aplikacja MyApp to po prostu aplikacja na "globalną zmienną", ponieważ domyślam się, że nie można tego zrobić bez nowej aplikacji.

Oto kod dla MojaApl w przypadku pomaga:

import android.app.Application; 

public class MyApp extends Application{ 

public static int resultCount; 

public int getCount(){ 
    return resultCount; 
    } 
public void setCount(int c){ 
    resultCount = c; 
} 
} 

Każda pomoc będzie mile widziane.

+0

+1 dobrze zapytany. Wystarczy informacji, aby uzyskać dobre odpowiedzi. – Sepster

Odpowiedz

8

Myślę, że chcesz użyć swojego niestandardowego Application jako głównego Application.

Więc nie dodawaj nowego <application>, ale po prostu podaj jego nazwę dla głównego <application> (musisz podać pełny pakiet).

<application android:icon="@drawable/icon" android:label="@string/app_name" android:name:"com.mypackage.MyApp"> <!-- Added the android:name --> 
    <activity android:name=".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> 
    <activity android:name="Result" android:label="@string/app_name">  </activity> 
</application> 

Patrz informacje here

16

Według documentation pliku manifestu z tylko jeden elementem wniosku jest prawidłowy.

Tylko aplikacja <manifest> i < są wymagane > elementy, oni każdy musi być obecny i może wystąpić tylko raz.

0

Wymagane są tylko elementy "manifest" i "application", muszą być obecne i mogą występować tylko jeden raz. Większość innych może zdarzyć się wiele razy lub wcale - chociaż przynajmniej niektóre z nich muszą być obecne, aby manifest mógł osiągnąć cokolwiek znaczącego.

Powiązane problemy