1. Activity란?
👉 액티비티(activity)는 사용자에게 UI가 있는 화면을 제공하는 앱 컴포넌트이다. 액티비티는 안드로이드 4대 컴포넌트 중 하나로, 앱의 가장 기본이 되는 구성 요소이다. 보통 앱은 하나 이상의 액티비티가 서로 연결된 형태로 구성된다.
✔️ 안드로이드의 4대 컴포넌트
1. 액티비티: 화면 관리자
2. 서비스: 백그라운드 작업자
3. 콘텐트 프로바이더: 데이터 제공자
4. 브로드캐스트 리시버: 방송수신자
2. Activity의 수명주기(Life Cycle) developers 사이트
메소드 | 설명 | 다음 메소드 |
onCreate() | 액티비티가 생성될 때 단 한 번만 호출되며, 사용자 인터페이스 초기화에 사용됨. |
onStart() |
onRestart() | 액티비티가 멈췄다가 다시 시작되기 바로 전에 호출됨. | onStart() |
onStart() | 액티비티가 사용자에게 보여지기 바로 직전에 호출됨. | onResume() 또는 onStop() |
onResume() | 다시 앱으로 돌아올 때 무조건 호출됨. 액티비티가 사용자와 상호작용하기 바로 전에 호출됨. |
onPause() |
onPause() | 다른 액티비티가 보여질 때 호출됨. 데이터 저장, 스레드 중지 등의 처리를 하기에 적당한 메소드. 화면의 일부가 가려졌을 때. |
onResume() 또는 onStop() |
onStop() | 액티비티가 더이상 사용자에게 보여지지 않을 때 호출됨. 메모리가 부족할 경우에는 onStop() 메소드가 호출되지 않을 수도 있음. 화면 전부가 보이지 않을 때. |
onRestart() 또는 onDestroy() |
onDestroy() | 액티비티가 소멸될 때 호출됨. finish() 메소드가 호출되거나 시스템이 메모리 확보를 위해 액티비티를 제거할 때 호출됨. | 없음 |
3. Intent 인텐트
👉 인텐트는 안드로이드의 컴포넌트 간의 통신을 맡고 있다. 인텐트는 '요청', 인텐트를 보내는 것은 '요청을 보낸다'라는 의미로 이해하면 좋다.
요청의 종류는 두 가지가 있다.
1) 전달만 하는 요청
2) 전달한 후에 리턴을 받는 요청
인텐트를 사용하는 세 가지 경우는 다음과 같다.
1) Activity와 Activity
2) Android System과 내 App (전화)
3) 다른 App과 내 App (결제)
인텐트의 종류에는 두 가지가 있다.
1) 명시적인 인텐트(Explicit intent): 호출할 대상 컴포넌트가 분명히 명시되어 있는 인텐트
2) 암시적인 인텐트(Implicit intent): 호출 대상이 명확하게 정의되어 있지 않은 인텐트로, 암시적 인텐트를 사용하면 다른 패키지의 액티비티나 서비스의 호출이 가능하다.
Reference
https://kairo96.gitbooks.io/android/content/ch2.4.1.html
https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko
https://brunch.co.kr/@mystoryg/80
https://javapp.tistory.com/132
'Develop > Android + Kotlin' 카테고리의 다른 글
[Android] 안드로이드 태스크(Task), launchMode, 인텐트 플래그(IntentFlag) (0) | 2021.08.25 |
---|---|
[Android] Xml 가져오기, 뷰(View)를 activity로 가져오는 방법 (0) | 2021.08.25 |
앱 개발의 시작 - 개발자의 의사소통/다양한 개발 직군들 (0) | 2021.07.27 |
앱 개발 (0) | 2021.07.20 |
리액트와 리액트 네이티브/ 안드로이드에서 검색 인터페이스 만들기 (0) | 2021.07.20 |