2011-09-10 58 views
0

我正在製作一個應用程序,我正在使用一些我從中繼承的基本活動。我嘗試運行該應用程序,而無需將這些活動添加到清單文件,並且它可以工作。但是,我應該添加它們還是將它們排除?是否只有用戶可以看到我需要添加的活動?我應該將基礎活動添加到清單文件嗎?

回答

1

只要您不嘗試啓動它們,在AndroidManifest文件中沒有定義一些活動沒有任何問題。

因此,答案是否定的,您不必爲了某種抽象而添加那些活動。

另一方面,爲什麼要使用具有應用程序生命週期功能(以及其他Activity活動)的某些類?這似乎是一個糟糕的設計,我真的建議您查看代碼。

+0

我正在做的是如我所說的在基類中提取一些常見的功能。你會怎麼做呢? – LuckyLuke

+0

我不是說這一定是錯誤的,我只是給它另一個外觀:)根據設計,它可能是正確的/最好的事情 – LambergaR

+0

但是,如果你說有一個新的/編輯它是如何錯誤的設計幾乎共享所有功能的活動,然後爲這兩個繼承的基礎活動進行基礎活動。否則我無法理解我該怎麼做。 – LuckyLuke

0

聲明實現應用程序的可視用戶界面的一部分的活動(活動子類)。所有活動必須由清單文件中的元素表示。任何未聲明的內容都不會被系統看到,並且永遠不會運行。

這是Android開發人員頁面上的活動標記說明。希望這有助於

0

無法打開IE(顯示)活動(或它的子類)爲您的應用程序,如果它沒有在清單文件

<activity>元素,如果你嘗試啓動這樣

Intent i = new Intent(this, Any_Activity.class); 
startActivity(i); 

活動您將獲得應用程序意外終止的錯誤,請阿恩

因爲沒有<activity>標記爲「Any_Activity」級在manifest.xml文件中定義

0

這真的有助於看到你的代碼。

正如其他人提到的,從您的清單中省略從不直接啓動的活動(並且有些情況下這是有意義的),這很好,但這也可能是不好的做法。這些輔助類是什麼?他們是否擴展活動?

0

1-我將它包含到清單無論如何。我不認爲它會受傷。

2-我有一個問題給任何人想要回答。 我可以有這樣的事嗎?

<activity android:name="com.hourglass.applications.CreateAlarm"> 
     <intent-filter> 
      <action android:name="com.hourglass.applications.CreateAlarm" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

我不知道我是否可以使用相同的名稱進行活動和操作。

相關問題