[Android studio] 버튼을 누르면 다른 화면으로 넘어가게 하기

neoneoneo·2024년 2월 26일
0

android

목록 보기
1/16

목표 : 화면A에서 버튼a을 누르면 화면B로 넘어가도록 한다.

.
.

사전 준비 사항 :

  1. 화면 A,B에 대한 viewer activity를 생성한다.
  2. 화면 A에 버튼 a를 만든다.
    2-1. 버튼 a에 대한 컴포넌트 id를 적절하게 변경한다.
    (여기에서는 btn_check로 명명)

작업 순서 :

val Button_A = findViewById<Button>(R.id.btn_a)
Button_A.setOnClickListener {
    val intent = Intent(this, Activity_A::class.java)
    // ::은 Kotlin 클래스를 Java 클래스로 변환하는 것을 의미
    startActivity(intent)
}
  1. A.kt에서 만들어 놓은 버튼 a를 정의한다.
  2. setOnClickListener 안에 버튼을 누르면 실행될 동작을 정의한다.
    2-1. intent를 정의한다.
    2-2. startActivity()를 작성한다.

.
.
.

여기서 잠깐,,

Activity가 뭐야? -> UI 컴포넌트

  • 액티비티는 안드로이드 앱의 UI를 담당하는 구성 요소임
  • 각 화면이나 사용자 상호작용을 처리하는 데에 사용됨
  • 하나의 앱은 여러 개의 액티비티를 가질 수 있고, 각 액티비티는 독립적으로 실행될 수 있음
  • 앱의 실행 시작 지점은 보통 메인 액티비티로 설정되며 다른 액티비티로 전환될 수 있음

intent가 뭐야? -> Activity간 통신을 도와주는 메시징 시스템

  • 인텐트는 안드로이드 컴포넌트 간의 통신을 위한 메시지 객체임
  • 주로 화면 간 전환, 서비스 시작, 브로드캐스트 메시지 전송 등에 사용됨
  • 액티비티 간 전환을 위해 사용되는 인텐트를 "암시적", "명시적" 인텐트로 나눌 수 있음
    • 암시적 인텐트 : 어떤 컴포넌트를 실행하 것인지 시스템에게 맡김
    • 명시적 인텐트 : 명시적으로 어떤 컴포넌트를 실행할 것인지 지정함

예시로, 아래와 같이 처리하면 Current -> Target으로 화면이 전환됨

Intent intent = new Intent(Activity_Current.this, Activity_Target.class)
StartActivity(intent)

[TIL-240226]

0개의 댓글