web-dev-qa-db-ja.com

androidのOnCreateメソッドとは

私はAndroid以下のメソッドが何をするかを理解しようとするのは初めてです

_public void onCreate(Bundle savedInstanceState)
{
        super.onCreate(savedInstanceState);
        // load the layout
        setContentView(R.layout.filters); 
}
_

私の研究 ::

  • onCreateはアクティビティを開始するために使用されます
  • superは、親クラスのコンストラクターを呼び出すために使用されます
  • setContentViewは、xmlを設定するために使用されます

しかし、これはすべて一緒に何ですか-

  • onCreate(Bundle savedInstanceState) ....なぜそのバンドルがそこに来たのか、それは何ですか
  • そのsuper.onCreate(savedInstanceState);とは何ですか

素人用語でのいくつかの説明が役立つでしょう

21
user2910566

アプリケーションの状態をバンドル(通常、onSaveInstanceStateの非永続動的データ)に保存すると、アクティビティを再作成する必要がある場合(向きの変更など)にonCreateに戻すことができます。向きが変わった場合(つまり、デバイスを横向きモードから縦向きに、またはその逆に回転させる場合)、アクティビティが再作成され、onCreate()メソッドが再度呼び出されるため、この前の情報が失われることはありません。データが提供されなかった場合、savedInstanceStateはnullです。

詳細情報 http://developer.Android.com/guide/topics/resources/runtime-changes.html

19
vinaykumar

バンドルは、アクティビティの状態情報を保存および復元するために使用されます。向きの変更やアプリの強制終了、またはonCreate()の呼び出しにつながるその他のシナリオのようなインスタンスでは、savedInstanceStateバンドルを使用して以前の状態情報をリロードできます。 アクティビティライフサイクルに関するこの記事 に精通していると役立ちます。

10
i5h4n

onCreate(Bundle)は、アクティビティを初期化する場所です。 Activityが開始され、アプリケーションがロードされていない場合、両方のonCreate()メソッドが呼び出されます。

ただし、その後のActivityの開始では、アプリケーションのonCreate()は呼び出されません。

3

最初のsuper.onCreate(savedInstanceState);は、アクティビティがsuperclassにあるメソッドを呼び出し、アクティビティのInstanceStateが保存されているため、アクティビティがinstanceStateに保存されているため、アクティビティは以前と同じです。

0
Hashem Khaled

OnCreateメソッドはオーバーライドされるため、基本クラスのonCreateメソッドを呼び出すためにsuperキーワードが使用されます。おもう

0
Mohammed Ahmed