안드로이드 4대 구성요소
- 안드로이드 애플리케이션은 독립적인 다양한 실행 단위를 하나로 묶어 관리하는 개념이다.
- Activity -> 눈에 보이는 실행단위
- Service -> 눈에 보이지 않는 백그라운드에서 실행
- Broadcast Receiver -> 단말기 안에서 사건 발생시 사건 감지해서 코드 실행 단위
- Content Provider -> 데이터를 공유하기 위해서 사용하는 실행단위
Activity
- 현재 보이는 화면을 관리하는 실행 단위
- 애플리케이션을 실행하면 Activity가 실행되고 Acitivity가 관리하는 화면이 나타나게 된다.
Activity 생명주기
출처 : https://kairo96.gitbooks.io/android/content/ch2.4.1.html
package com.sypark.activitylifecycle
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
class MainActivity : AppCompatActivity() {
// Activity가 생성될때, 자동으로 호출된다.
// 화면 전환이 발생할때, 자동으로 호출된다
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d("test1","onCreate")
}
// onCreate 메서드 호출 이후에 자동으로 호출
// Activity가 정지 상태가 되었다가 활동 상태로 돌아올 때 호출
override fun onStart() {
super.onStart()
Log.d("test1","onStart")
}
// onStart 메서드 호출 이후에 자동으로 호출
// Activity가 일시 정지 되었다가 다시 돌아올때 호출
override fun onResume() {
super.onResume()
Log.d("test1","onResume")
}
// Activity가 정지 상태가 되었다가 활동 상태로 돌아갈때 onStart전에 호출된다.
override fun onRestart() {
super.onRestart()
Log.d("test1","onRestart")
}
// Activity가 일시 정지 상태가 될 때 호출된다.
// 화면상에서 완전히 사라지거나 현재 화면 위에 작은 팝업 창 같은 것이 나타날 때 호출
override fun onPause() {
super.onPause()
Log.d("test1","onPause")
}
// Activity가 화면에서 사라질 때 호출된다.
override fun onStop() {
super.onStop()
Log.d("test1","onStop")
}
// 현재 액티비티의 수행이 완전히 종료되어 메모리상에서 제거될 때 호출된다.
override fun onDestroy() {
super.onDestroy()
Log.d("test1","onDestory")
}
}
1. 앱 시작
2. 앱 화면 나가기
3. 앱 화면 다시 불러오기
4. 앱 종료
정리
- 눈에 보이는 화면을 관리하는 실행 단위를 Activity라고 한다.
- Activity는 생명주기가 있으며 각 주기 때 자동으로 호출되는 메서드를 제공한다.
'2022년' 카테고리의 다른 글
onActivityResult (0) | 2021.10.20 |
---|---|
Activity실행하기 (0) | 2021.10.20 |
Popup Menu (0) | 2021.10.19 |
Context Menu (0) | 2021.10.18 |
Option Menu (0) | 2021.10.18 |