본문 바로가기
2022년

Activity

by 박상윤 2021. 10. 20.

안드로이드 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