【AndroidTraining】Activity 2 画面を切り替えよう
Lesson
Activity 2
画面を切り替えよう
Mission
下記の仕様を満たすアプリを作りましょう。
- SubActivityへの画面遷移をする
- MainActivityとSubActivityのライフサイクルのログを出力する
Snap Shot
ログ
◆Mainアクティビティ起動 2021-04-11 22:53:41.323 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onCreate 2021-04-11 22:53:41.412 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onStart 2021-04-11 22:53:41.413 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onPostCreate 2021-04-11 22:53:41.413 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onResume 2021-04-11 22:53:41.414 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onResumeFragments 2021-04-11 22:53:47.898 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onPause ◆Subアクティビティ起動(Mainアクティビティはバックグラウンドへ) 2021-04-11 22:53:47.952 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle_Sub: onStart 2021-04-11 22:53:47.952 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle_Sub: onPostCreate 2021-04-11 22:53:47.953 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle_Sub: onResume 2021-04-11 22:53:47.953 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle_Sub: onResumeFragments 2021-04-11 22:53:48.484 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onStop 2021-04-11 22:53:48.484 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onSaveInstanceState ◆Subアクティビティ終了(Mainアクティビティがフォアグラウンドへ) 2021-04-11 22:53:54.943 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle_Sub: onPause 2021-04-11 22:53:54.969 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onRestart 2021-04-11 22:53:54.969 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onStart 2021-04-11 22:53:54.970 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onResume 2021-04-11 22:53:54.970 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle: onResumeFragments 2021-04-11 22:53:55.528 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle_Sub: onStop 2021-04-11 22:53:55.532 29929-29929/com.hatenablog.atuyan39.androidtraining D/LifeCycle_Sub: onDestroy
Step by Step
- 前回の環境(Activity 1)を用意する
- 新しくActivity(TrainingSubActivity.java)を追加する
- ライフサイクルのメソッドをoverrideする(コピペ)
- onCreate
- onRestart
- onStart
- onRestoreInstanceState
- onPostCreate
- onResume
- onResumeFragments
- onPause
- onStop
- onSaveInstanceState
- onDestory
- ButtonとTextのViewを各Activityに追加する
- TrainingActivityのボタン押下時に、SubActivityを起動する処理を追加する
Button button = findViewById(R.id.activity_2_button); button.setOnClickListener((v -> { // アクティビティを起動する Intent intent = new Intent(this, TrainingSubActivity.class); startActivity(intent); }));
6 . TrainingSubActivityのボタン押下時に、SubActivityを終了する処理を追加する
Button button = findViewById(R.id.activity_2_button_sub);
button.setOnClickListener(v -> {
// このActivityを終了させる
finish();
});
Code
Activity 2 · atuyan39/AndroidTraining@947a89c · GitHub
Reference
とくになし
Memo
startActivityの仕組みを理解したい