2016-03-19 11 views
0

私はこのサイトのアンドロイドと私の最初の質問に新しいので、ミスをした場合私に知らせてください。 いくつかのチュートリアルが AndroidManifest.xmlまたはonCreate()メソッドでAndroidが起動しますか?

この

<intent-filter> 

    <action android:name="android.intent.action.MAIN" /> 

    <category android:name="android.intent.category.LAUNCHER" /> 

</intent-filter> 
は、プログラムの開始であると言うので、私は混乱しています。

他の人には、ユーザーがのonCreate()メソッドが呼び出されたホーム画面から

アプリのアイコンをクリックすると、プログラムがのonCreate()メソッドで開始しますと言います。私はonCreateと思う

ここのメソッドは、開始アイコンのリスナーのように動作します。ここ

1)

私の質問のonCreateはMAINとランチャーを使用しての使用は最初の何と呼ばれるか? `

2)MAINとLAUNCHERはのonCreate mehtodを呼び出す出発点ですか?

質問は重複していませんthis question私の質問は誰ですか?あれは誰ですか?私は、アンドロイドプログラムの出発点です。誰がonCreate()メソッドを呼び出していますか?

+0

[とandroid.intent.action.MAINの意味は何ですか?](http://stackoverflow.com/questions/25219551/what-is-the-meaning-of-android-intent-action- main) –

+0

この質問で重複していないのは、何が.MAIN .LAUNCHERの意味で、私の質問はアンドロイドが.MAINやonCreate()メソッドをどこで実行しているかです。 – Yirga

答えて

2

<action android:name="android.intent.action.MAIN" /> 

ためのインテントフィルタは、活動が、「あなたのアプリケーションの主な方法」として作成されていることを意味します。私はあなたがこれらのうちの1つしか宣言できないと信じています。

他のインテントフィルタ

<category android:name="android.intent.category.LAUNCHER" /> 

android:label属性の名前を持つなどアプリの引き出し、ホーム画面にアイコンを表示するランチャーを指示します。マニフェストでこれらの複数を持つと、他のアクティビティに直接行くことができます。


ご質問にお答えするには、onCreateはアクティビティの出発点ではありません。アクティビティはAndroid Lifecycleの順に実行されるため、onCreateは「最初に呼び出されません」。あなたのレイアウトを膨らませるためにsetContentView()と呼ぶ必要があります。

アクティビティの開始者またはユーザーが、アプリケーションアイコンをクリックすると、ランチャーはandroid.intent.action.MAINインテントをアプリケーションに送信し、マニフェストは適切なアクティビティを表示して開始します。

関連する問題