2011-08-01 14 views
6

私は、JavaとAndroid Javaの違いによって少し混乱しています。アクティビティクラスAndroidXがあるとします。 main関数はありません。わかっているように、AndroidX()コンストラクタはありません。私はonCreate()がおそらくAndroidXアクティビティを初期化することを認識していますが、なぜメインがないのですか?違いは何ですか?AndroidコンストラクタとonCreate()の違いは何ですか?

+0

なぜあなたは 'main'を必要としますか?アクティビティをスタンドアロンとして実行する予定ですか? –

+0

多くの人の間で重複が起こる可能性があります:https://stackoverflow.com/q/3302177/1531971 – jdv

答えて

1

このグラフィックが若干参考になる場合があります。 http://developer.android.com/images/activity_lifecycle.png

アクティビティのドキュメントでは、各機能の意味(onCreate()、onResume()など)を詳しく説明しています。 http://developer.android.com/reference/android/app/Activity.html

+0

tyのリンクです!それは男が使用したのと同じ画像です。 –

+1

この受け入れられた答えからどのように理解できますか?** AndroidコンストラクタとonCreate()**の違いは何ですか? – sbeliakov

4

あなたの活動が多く* メイン * sであり、あなたのマニフェストがそれらの1つに実行を指示すると考えてください。

はまた

続けるのに十分なフェア

)私たちは前にそれを知っているようにコンストラクタがに隠されているし、今それは常にのonCreate(と呼ばれていることを考えますか?

+0

ええ、ありがとうございました –

1

あなたのアプリが実行中または実行中でないことを前提としているため、「メイン」はありません。しかし、アンドロイドには、アプリが一時停止、停止、開始などの状態になる可能性が他にもたくさんあります。

Check out this link Androidアクティビティライフサイクルの優れた概要については、

1

onCreateの動作については、Android Developer ReferenceのActivityページに記載されています。具体的には次のとおりです。

onCreate(Bundle)は、アクティビティを初期化する場所です。最も重要なことは、ここでは、通常、UIを定義するレイアウトリソースを持つsetContentView(int)を呼び出し、findViewById(int)を使用して、プログラムで対話する必要のあるUI内のウィジェットを取得します。初期化がそこに処理されるようあなたは、この方法をあなたの活動のためのコンストラクタを考慮することができる意味で

Activity Lifecycleを参照してください)。

メインについては、あなたに隠されていると考えてください。一般的には、ボタンやテキストフィールドなどのUI要素のリスナーを登録し、そのUI要素からの入力に基づいて処理を行います。これらのリスナーは、メソッドを呼び出してデータを操作したり、UIの表示方法を変更することができます。

関連する問題