【android】Activityのライフサイクル

Androidでのプログラムの勉強中・・・。Activityのライフサイクルについては

https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ja


公式にこの図が出ていて、同様の図を書籍などでも見る事ができる。

いやいや、わかるよ・・・でもね。という事で実際の動作を確認する事をしてみた。

新規作成で、Enptyのプロジェクトを立ち上げて、
以下のように編集する。
編集点は①がonCreateだけが自動で生成されるが、他のonStart,onResumeなどについても記載する。①Logを出力するようにする。


package com.example.lifecycle_test;

import android.os.Bundle;
import android.util.Log;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
Log.d("MainActivity","onCreate");
}
@Override
protected void onStart() {
super.onStart();
Log.d("MainActivity","onStart");
}
@Override
protected void onResume() {
super.onResume();
Log.d("MainActivity","onResume");
}
@Override
protected void onPause() {
super.onPause();
Log.d("MainActivity","onPause");
}
@Override
protected void onStop() {
super.onStop();
Log.d("MainActivity","onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("MainActivity","onDestroy");
}

}


LogCatの表示の仕方は、View-Tool windows-LogCatとして、ログを表示する。



これでエミュレータ上で走らせる(といってもHelloとでるだけ)
この状態で、アプリを閉じたり、他のアプリを立ち上げたりとするとどのタイミングで、どのように繊維しているかを確認できるって訳
むしろ、これがひな形として、自動生成されてほしいな・・・と思ってまずは、自分のひな形として、やってみた・・・

コメント

このブログの人気の投稿

Attiny85とAQM0802A(LCD)のI2C接続

ILI9341 240X320 Arduino