Archives
Recent Posts
«   2025/02   »
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
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[34일차 Android] Activity 실행하기 본문

Computer/Android

[34일차 Android] Activity 실행하기

Wise-99 2023. 6. 17. 19:16

 

 

 

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

 

 

 

📖 Activity 실행 및 종료

  • startActivity : 지정된 Intent에 담긴 정보를 토대로 Activity를 샐힝한다.
  • finish : 현재 실행되어 있는 Activity를 종료한다.

Intent

출처 : developer.android.com

  • 안드로이드 4대 구성 요소들을 실행하기 위해서는 Intent라는 객체가 필요하다.
  • Intent는 실행하고자 하는 4대 구성 요소와 관련된 정보를 가지고 있다.
  • 개발자는 실행하고자 하는 4대 구성 요소의 정보를 Intent에 담고 이를 안드로이드 OS에게 전달하면 안드로이드 OS에 의해 해당 구성 요소가 실행된다.

Back Stack

출처 : developer.android.com

  • Activity에서 다른 Activity를 실행하면 이전 Activity는 Back Stack에 담겨 정지 상태가 되고 새로 실행된 Activity가 활동하게 된다.
  • 새로 실행된 Activity가 제거 되면 Back Stack에 있던 Activity가 다시 활동하게 된다.

 

 

 

예제 코드

MainActivity.kt

class MainActivity : AppCompatActivity() {

    lateinit var activityMainBinding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(activityMainBinding.root)

        activityMainBinding.run {
            buttonMain.run {
                setOnClickListener {
                    // 다른 액티비티를 실행한다.
                    // Intent 객체를 생성한다.
                    val secondIntent = Intent(this@MainActivity, SecondActivity::class.java)
                    startActivity(secondIntent)
                }
            }
        }
    }
}

 

 

 

SecondActivity.kt

class SecondActivity : AppCompatActivity() {

    lateinit var activitySecondBinding: ActivitySecondBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        activitySecondBinding = ActivitySecondBinding.inflate(layoutInflater)
        setContentView(activitySecondBinding.root)

        activitySecondBinding.run {
            buttonSecond.run {
                setOnClickListener {
                    // 현재 Activity를 종료하고 BackStack에서 제거한다.
                    finish()
                }
            }
        }
    }
}

 

 

 

결과

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

[37일차 Android] 다른 앱의 Activity 실행하기  (0) 2023.06.23
[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