2022년

Activity실행하기

박상윤 2021. 10. 20. 12:33

Intent

- 안드로이드 4대 구성 요소들을 실행하기 위해서는 Intent라는 객체가 필요하다.

- Intent는 실행하고자 하는 4대 구성 요소와 관련된 정보를 가지고 있다.

- 개발자는 실행하고자 하는 4대 구성 요소의 정보를 Intent에 담고 이를 안드로이드 OS에게 전달하면 안드로이드 OS에 의해 해당 구성 요소가 실행된다.

 

Activity 실행 및 종료

- startActivity : 지정된 Intent에 담긴 정보를 토대로 Activity를 실행한다.

- finish : 현재 실행되어 있는 Activity를 종료한다.

 

Back Stack

자료구조 stack과 구조가 비슷하다.

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

- 새로 실행된 Activity가 제거 되면 Back Stack에 있던 Activity가 다시 활동하게 된다.

 

Main

package com.sypark.activityex

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

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

        button.setOnClickListener {
            val second_intent = Intent(this,SecondActivity::class.java)
            startActivity(second_intent)
            //SecondActivity::class.java -> 리플렉션 개념
            //SecondActivity를 이용해서 만들어진 Java파일이 컴파일 된 class파일을 지칭하게 된다.
        }
    }
}

Second

package com.sypark.activityex

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_second.*

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

        button2.setOnClickListener {
            finish()
        }
    }
}

secondActivity 클릭

secondActivity 종료 클릭

 

정리

- Intent를 활용하여 4대 구성 요소 중 원하는 것을 실행할 수 있다.

- startActivity 메서드를 통해 Activity를 실행하고 finish 메서드를 통해 종료할 수 있다.