하나의 어플은 여러 개의 Activity들로 이루어져 있다. Back 버튼을 누르거나 다른 화면으로 이동할때 Activity가 전환 되면서 기존 Activity가 중지되고 새로운 Activity가 시작된다.
1) startActivity()
현재 Activity에서 Intent를 정의하고 startActivity()를 호출하면 된다.
예시)) 현재 Activity에서 'Test' Activity를 호출
//Test Activity에 대한 Intent 정의 Intent intent = new Intent(this, Test.class); //Intent를 통하여 Test Activity 호출 startActivity(intent);
2) startActivityForResult()
현재 Activity에서 startActivityForResult(Intent intent, int requestCode)를 통해 새로운 Activity 호출
두번째 파라메터 requestCode를 통해 새로운 Activity에 대한 여러 호출 중 해당 메서드를 구분
새로운 Activity가 종료되는 경우 onActivityResult(int requestCode,int resultCode, Intent data)를 통해 기존 Activity에 결과값(resultCode) 및 Intent 객체를 통해 data를 전달한다.
첫번째 파라메터인 requestCode와 맞는 startAcitivityForResult를 호출한 Activity에 결과값 전달
두번째 파라메터는 새로운 Activity 호출에 대한 결과값
세번째 파라메터는 새로운 Activity에서 기존 Activity에 전달할 데이터로 Intent객체 형태로 전달됨
3) Activity간 수명 주기 변화
- 새로운 Activity를 호출할때
기존 Activity : onPause() / 새로운 Activity : onCreate() -> onStart() -> onResume()
- 새로운 Activity가 재개(RESUME) 되면서 기존 Activity가 정지(STOP)한다.
* 새로운 Activity가 생성되기 전에 기존 Activity가 완전히 정지(STOP)되지 않는다
* 새로운 Activity가 생성되는 과정에서 기존 Activity의 정보를 전달할 수 있다.
+
이전글 참고
Activity 개요 및 생명 주기
2020/01/22 - [안드로이드] - [Android] Activity의 개요 및 Activity의 생명 주기 소개
참고 - "핵심 개발자 주제 - 액티비티" , android 개발자 사이트
https://developer.android.com/guide/components/activities/activity-lifecycle.html
[Android] 어플리케이션 기본 구성 요소(Activity , Service, Broadcast Receiver, Content providers) (0) | 2020.02.13 |
---|---|
[Android] 어플 구동 중에 전화 걸기 화면 띄우기( startActivity() , ACTION_DIAL) (0) | 2020.02.11 |
[Android] 화면 회전 할때 인스턴스 정보 저장 및 불러오기(Bundle, onSaveInstanceState, ViewModel) (0) | 2020.02.09 |
[Android] 안드로이드 Activity 생명주기 (7) onDestroy() (0) | 2020.02.06 |
[Android] 안드로이드 Activity 생명주기 (5) onStop() (0) | 2020.02.05 |