본문 바로가기
Android

Android Activity간 화면전환(Life Cycle), intent

by leopard4 2023. 1. 30.

 

화면 전환시 실행되는 함수 Log 확인

 

CSR BPSD

Create [처음실행시]

Start

Resume

 

Backpressed [백버튼눌럿을시]

Pause

Stop

Destroy[완전히 사라질시]

 

Restart[사용할일이 거의없음]

Second Activity 생성

자동으로 XML도 만들어줌

 

 

첫번째 액티비티 전체코드

package com.leopard4.lifecycle;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.i("LifeCycleApp", "onCreate 함수 실행");

        button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // SecondActivity로 화면 전환

                // 인텐트를 만든다!
                // 인텐트란, 어떤 액티비티가, 어떤 액티비티를 띄우겠다 라는것
                Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                startActivity(intent);
            }
        });

    }

    @Override
    protected void onStart() {
        super.onStart();

        Log.i("LifeCycleApp", "onStart 함수 실행");
    }

    @Override
    protected void onResume() {
        super.onResume();

        Log.i("LifeCycleApp", "onResume 함수 실행");
    }

    @Override
    protected void onPause() {
        super.onPause();

        Log.i("LifeCycleApp", "onPause 함수 실행");
    }

    @Override
    protected void onStop() {
        super.onStop();

        Log.i("LifeCycleApp", "onStop 함수 실행");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

        Log.i("LifeCycleApp", "onDestroy 함수 실행");

    }
}

 

두번째 액티비티 전체코드

package com.leopard4.lifecycle;

import androidx.appcompat.app.AppCompatActivity;

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

public class SecondActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        Log.i("LifeCycleApp", "SecondActivity onCreate 함수 실행");
    }

    @Override
    protected void onStart() {
        super.onStart();

        Log.i("LifeCycleApp", "SecondActivity onStart 함수 실행");
    }

    @Override
    protected void onResume() {
        super.onResume();

        Log.i("LifeCycleApp", "SecondActivity onResume 함수 실행");
    }

    @Override
    protected void onPause() {
        super.onPause();

        Log.i("LifeCycleApp", "SecondActivity onPause 함수 실행");
    }

    @Override
    protected void onStop() {
        super.onStop();

        Log.i("LifeCycleApp", "SecondActivity onStop 함수 실행");

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

        Log.i("LifeCycleApp", "SecondActivity onDestroy 함수 실행");
    }
}