【Androidベース】(1)4大コアコンポーネントのActivity
2410 ワード
記事の出典:http://blog.csdn.net/scarthr/article/details/41842627
Androidの4つのコアコンポーネントといえば、Activity、Service、BroadcastReceiver、ContentProviderであることはよく知られていますが、今日は最初のActivityを見てみましょう.
ライフサイクル
7つのライフサイクル:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart()、onDestroy()です.各メソッドの呼び出し状況については、次の図で説明します.
二Activityスタイル
適用スタイル全体を設定するには、Manifestのラベルで使用します.
設定は、いずれかのActivityにスタイルがあることを望む場合は、上記のコードをラベル内に置けばよい.
3 Activity間のデータ転送
Activity間のデータ転送はIntentを使用して実現できます.
Intentには2種類の包装タイプがあります.
1.putExtra(key,value)を直接使用する.
例:
2.Bundleオブジェクトを作成し、BundleのputStringなどの方法でデータをカプセル化した後、IntentのputExtras(bundle)で実現する.
2つの方法の2つ目に伝達できるデータの種類はもっと多い.
四Activityの起動と停止
1. startActivity(Intent intent)
この方法で起動したActivityは,リターン値を必要としない方法である.
2. startActivityForResult(Intent intent, int requestCode)
別のActivityの使用を開始
これにより、再送値を傍受することができる.この方法を使用する場合は、このActivity内でonActivity Result(int requestCode,int resultCode,Intent data)メソッドを複写する必要があります.requestCodeは起動メソッドのパラメータであり、resultCodeは再送された値であり、dataは再送されたデータをパッケージできるオブジェクトです.
その後、パッケージエコー値のActivityでsetResult(int resultCode,Intent data)を使用してfinish()メソッドを呼び出して閉じると、エコー値が実現されます.
ここでrequestCodeが格納されているのは、最初の10100が上記の方法でresultCodeに格納されている値です.
Androidの4つのコアコンポーネントといえば、Activity、Service、BroadcastReceiver、ContentProviderであることはよく知られていますが、今日は最初のActivityを見てみましょう.
ライフサイクル
7つのライフサイクル:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart()、onDestroy()です.各メソッドの呼び出し状況については、次の図で説明します.
二Activityスタイル
適用スタイル全体を設定するには、Manifestのラベルで使用します.
android:theme="@android:style/Theme.NoTitleBar"
設定は、いずれかのActivityにスタイルがあることを望む場合は、上記のコードをラベル内に置けばよい.
3 Activity間のデータ転送
Activity間のデータ転送はIntentを使用して実現できます.
Intentには2種類の包装タイプがあります.
1.putExtra(key,value)を直接使用する.
例:
Intent intent = new Intent();
intent.putExtra("name", "Jerry");
intent.putExtra("number", 10);
2.Bundleオブジェクトを作成し、BundleのputStringなどの方法でデータをカプセル化した後、IntentのputExtras(bundle)で実現する.
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putStringArray("stringarray", new String[] { " ", " " });
bundle.putStringArrayList("list", new ArrayList());
intent.putExtras(bundle);
2つの方法の2つ目に伝達できるデータの種類はもっと多い.
四Activityの起動と停止
1. startActivity(Intent intent)
この方法で起動したActivityは,リターン値を必要としない方法である.
2. startActivityForResult(Intent intent, int requestCode)
別のActivityの使用を開始
startActivityForResult(intent, 10);
これにより、再送値を傍受することができる.この方法を使用する場合は、このActivity内でonActivity Result(int requestCode,int resultCode,Intent data)メソッドを複写する必要があります.requestCodeは起動メソッドのパラメータであり、resultCodeは再送された値であり、dataは再送されたデータをパッケージできるオブジェクトです.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//
super.onActivityResult(requestCode, resultCode, data);
}
その後、パッケージエコー値のActivityでsetResult(int resultCode,Intent data)を使用してfinish()メソッドを呼び出して閉じると、エコー値が実現されます.
setResult(100);
finish();
ここでrequestCodeが格納されているのは、最初の10100が上記の方法でresultCodeに格納されている値です.