【Androidベース】(1)4大コアコンポーネントのActivity


記事の出典:http://blog.csdn.net/scarthr/article/details/41842627
Androidの4つのコアコンポーネントといえば、Activity、Service、BroadcastReceiver、ContentProviderであることはよく知られていますが、今日は最初のActivityを見てみましょう.
ライフサイクル
7つのライフサイクル:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart()、onDestroy()です.各メソッドの呼び出し状況については、次の図で説明します.
【Android基础】(1)四大核心组件之Activity_第1张图片
二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に格納されている値です.