Archives
Recent Posts
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[34일차 Android] Activity 본문

Computer/Android

[34일차 Android] Activity

Wise-99 2023. 6. 17. 18:56

 

 

 

출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT

 

 

 

📖 안드로이드 4대 구성 요소

  • 안드로이드 애플리케이션은 독립적인 다양한 실행 단위를 하나로 묶어 관리하는 개념이다.
  • Activity
  • Service
  • Broadcast Receiver
  • Content Provider

 

 

 

📖 Activity

  • 현재 보이는 화면을 관리하는 실행 단위
  • 애플리케이션을 실행하면 Activity가 실행되고 Activity가 관리하는 화면이 나타나게 된다.
  • 안드로이드는 이전, 다음이라는 개념이 없다.
  • 안드로이드는 Back Stack이 존재하며 뒤로가기 버튼을 누르게 되면 Activity는 Back Stack에서 제거된다.

Activity 생명 주기

  • Activity 실행 : onCreate -> onStart -> onResume
  • 다른 Activity 화면이 보일  : onPause -> Activity 일시 정지
  • 다시 Activity 화면이 보일  : onResume -> Activity 다시 동작
  • Activity의 화면이 완전히 보이지 않게   : onPause -> onStop
  • Activity의 화면이 다시 보여지게   : onRestart -> onstart -> onResume -> Activitiy 다시 동작
  • Activity가 종료될  : onPause -> onStop -> onDestroy

 

 

 

예제 코드

MainActivity.kt

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        Log.d("lion","onCreate")
    }
    
    override fun onStart() {
        super.onStart()
        Log.d("lion","onStart")
    }

    override fun onResume() {
        super.onResume()
        Log.d("lion", "onResume")
    }

    override fun onPause() {
        super.onPause()
        Log.d("lion", "onPause")
    }

    override fun onStop() {
        super.onStop()
        Log.d("lion", "onStop")
    }

    override fun onRestart() {
        super.onRestart()
        Log.d("lion", "onRestart")
    }

    override fun onDestroy() {
        super.onDestroy()
        Log.d("lion", "onDestroy")
    }
}

 

 

 

코드 리뷰

  • onCreate()
    • 액티비티가 처음 실행될 때 자동으로 호출된다.
    • 액티비티가 관리할 View들을 생성하고 View들에 대한 초기작업을 수행한다.
    • 화면 회전이 발생했을 때의 처리도 수행한다.

 

  • onStart()
    • 액티비티가 처음 생성될 때 onCreate() 다음으로 호출된다.
    • 액티비티가 보이지 않는 상태가 되었다가 다시 보이게 될 때 onRestart 다음에 호출된다.

 

  • onResume()
    • 액티비티가 처음 생성될 때 onStart 다음으로 호출된다.
    • 다른 액티비티가 보여지고 다시 이 액티비티가 보여질 때 호출된다.
    • 액티비티가 보여지지 않았다가 다시 보일 때 onStart 호출된다.
    • Activity가 다시 동작할 때 동작할 코드는 onResume()에 작성한다.

 

  • onPause()
    • 다른 액티비티가 눈에 보여질 때 호출되며 현재 액티비티는 일시정지된다.
    • Activity가 일시 정지될 때 동작할 코드는 onPause()에 작성한다.

 

  • onStop()
    • 현재 액티비티의 화면이 완전히 보이지 않게될 때 opPause 다음에 호출된다.

 

  • onRestart()
    • onStop이 호출된 이후 다시 액티비티가 보여지는 상태가 될 때 호출된다.

 

  • onDestory()
    • 액티비티가 완전 종료될 때 호출된다.

'Computer > Android' 카테고리의 다른 글

[34일차 Android] OnActivityResult  (0) 2023.06.23
[34일차 Android] Activity 실행하기  (0) 2023.06.17
[34일차 Android] Popup Menu  (0) 2023.06.17
[34일차 Android] Context Menu  (1) 2023.06.17
[34일차 Android] Option Menu  (0) 2023.06.17