지난글 참고(링크텍스트)
지난글에서 말했듯 오늘은 인텐트를 활용한 실습을 하보려고 한다.
인텐트는 4가지 컴포넌트를 호출하는 것또한 지난글에서 말했다.
오늘은 4가지 구성요소중 액티비티를 호출하는 실습을 해보려고 한다.
Empty View Activity로 새로운 프로젝트를 생성하면 MainActivity.kt과 activity_main.xml파일이 보일 것이다.
xml파일에는 화면구성을 코틀린파일에는 기능구현을 하는 파일들이다.
이전 주사위어플 참고(링크텍스트)
하나의 xml파일에 하나의 액티비티로 구성되기 때문에 화면전환을 위해선 두개의 액티비티가 존재해야 한다.
MainActivity.kt파일이 있는 폴더에 새로운 코틀린 파일(SecondActivity.kt)을 생성하면 xml파일(activity_second.xml)도 생성되는 것을 볼 수 있을 것이다.
activity_main.xml
<TextView
android:id="@+id/tv_activity1"
android:textSize="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="first_activity"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_activity1"
android:text="@string/first_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_activity1"
android:layout_marginTop="30dp"
/>
activity_second.xml
<TextView
android:id="@+id/tv_activity2"
android:text="second_activity"
android:textSize="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
/>
우리가 집중해야 할 코드는 xml파일이 아니라 코틀린파일이다.
액티비티를 전환하기 위해선 인텐트를 생성하고 액티비티를 인텐트를 통해 실행시키면 된다.
val intent_activity=Intent(this, SecondActivity::class.java)
startActivity(intent_activity)
이 코드를 활용해서 버튼을 클릭시 인텐트가 생성되고 액티비티가 전환되는 코드를 작성해보겠다.
val btn=findViewById<Button>(R.id.btn_activity1)
btn.setOnClickListener{
val intent= Intent(this, SecondActivity::class.java)
startActivity(intent)
}
버튼을 클릭하기 위해선 먼저 xml파일에 있는 버튼과 연결을 시켜야 한다.
findViewById로 버튼의 아이디를 검색해 연결해 주었다.
버튼을 클릭시 인텐트를 실행시켜야 하기때문에 setOnClickListener으로 버튼을 클릭하는 조건을 걸어둔다.