본문 바로가기
Android

[안드로이드/JAVA] Intent 인텐트 (Activity 전환 LifeCycle 생명주기)

by nanee_ 2022. 2. 20.
728x90
반응형
SMALL
 

Intent  |  Android Developers

android.net.wifi.hotspot2.omadm

developer.android.com

 

Intent 인텐트

: 의도, 의사전달, 요청이라는 뜻을 지닌 단어로,

안드로이드에서는 액티비티 간에 전환이 필요할 경우에, Intent 클래스로 요청을 전달한다.

 

 

Activity A -> B 전환

Activity A 에서 버튼을 누르면 Activity B로 화면 전환이 이뤄지도록 한다.

 

public class IntentActivity_A extends AppCompatActivity {

    final static String TAG = IntentActivity_A.class.getName(); // 클래스명 가져오기

    Button buttonA;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_intent_a);
        Log.d(TAG, "Activity A) onCreate 생성");

        buttonA = findViewById(R.id.buttonA);
        buttonA.setOnClickListener(v -> {
            Log.d(TAG, "Activity A) 버튼 클릭");
            // 인텐트를 활용해 OS에 B 화면을 보여달라고 요청
            Intent intent1 = new Intent(this, IntentActivity_B.class);
            Log.d(TAG, "Activity A) 인텐트 요청");
            startActivity(intent1);
        });
    }

 

public class IntentActivity_B extends AppCompatActivity {

    final static String TAG = IntentActivity_A.class.getName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_intent_b);
        Log.d(TAG, "Activity B ----------------------");
        Log.d(TAG, "Activity B) onCreate 생성");
    }

 

왼쪽) Activity A, 오른쪽) Activity B

 

 

생명 활동 주기 별로 Logcat을 출력해보면 위와 같은 동작 순서를 알 수 있다.

 

Intent 를 요청하면,

A 에서는 onPause() 메소드가 호출되어 중지가 일어나고,

B onCreate() 부터 onResume() 까지 호출되어 활동이 시작되고,

그 이후에 AonStop() 메서드가 호출되 중단되는 것을 알 수 있다.

 

 

 

 

728x90
반응형
LIST