2011-09-10 28 views
0

私は、私が物事を継承する基本的な活動をいくつか使っています。私はこれらのアクティビティをマニフェストファイルに追加せずにアプリケーションを実行しようとしましたが、動作します。しかし、私はそれらを追加するか、またはそれらを残す必要がありますか?追加する必要があるのはユーザーに表示されるアクティビティだけですか?マニフェストファイルに基本アクティビティを追加する必要がありますか?

答えて

1

AndroidManifestファイルで定義されていないアクティビティを起動しようとしても問題はありません。

答えは、いいえ、あなたは抽象のいくつかの並べ替えのためだけにそこにある活動を追加する必要はありません。

一方、アプリケーションライフサイクル機能(およびその他のアクティビティ)を備えたクラスが必要なのはなぜですか?それは悪いデザインのようだと私は本当にコードを確認することをお勧めします。

+0

私がしていることは、私が述べたように、基本クラスの共通の機能をいくつか抽出しています。それ以外はどうやってやるの? – LuckyLuke

+0

私はそれが間違っていると言っているわけではない、私はちょうど別の一見を与えるだろう:)デザインに応じて、それは右/最高のことを行うかもしれない – LambergaR

+0

しかし、それは間違ったデザインは、ほぼすべての機能を共有するアクティビティを作成し、継承した2つの基本アクティビティを作成します。私はそれが他の方法でできることを理解できません。 – LuckyLuke

0

アプリケーションのビジュアルユーザーインターフェイスの一部を実装するアクティビティ(アクティビティサブクラス)を宣言します。すべてのアクティビティは、マニフェストファイル内の要素で表される必要があります。宣言されていないものは、システムには見られず、決して実行されません。

これはandroid developersページのアクティビティタグの説明です。これはあなたが開くことができません

0

役に立てば幸いすなわち(ディスプレイ)あなたのアプリケーションへのアクティビティ(またはそのサブタイプ)を使用すると、起動しようとした場合、それはマニフェストファイル

<activity>要素を持っていない場合この

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

様活性あなたは「Any_Activity」クラスの無<activity>タグ以来agin

を試してみてください、アプリケーションが予期せず停止したエラーになりますマニフェストファイルに定義されています

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> 

同じ名前のアクティビティとアクションがあるかどうかわかりません。

関連する問題