Kotlin/안드로이드_[입문]앱개발
Android4-2_ Intent란? Intent의 객체 / 명시적 인텐트 Explicit Intent 연습해보기
[진주]
2023. 8. 16. 08:23
728x90
반응형
3.51초-
Intent의 객체
Intent객체에는 안드로이드 시스템이 어떤 구성요소를 시작할지 판별하는데 필요한 정보가담겨있습니다.
1). 컴포넌트이름(ComponentName)
- 인텐트를 처리하는 타켓 컴포넌트 이름
- 선택 항목이므로, 컴포넌트 이름이 지정되지 않으면 암시적인 텐트를 의미함
2). 작업(Action)
- 수행되어야 할 작업을 나타내는문자열
3). 데이터(Data)
- 작업에 필요한 데이터
4). 카테고리(Category)
- 작업에 대한 추가적인 정보 제공
5). 엑스트라(extra)
- 요청한 작업을 수행하기 위해 필요한 추가정보를 담고있는 키- 값 쌍의 데이터
명시적 인텐트 Explicit Intent 로 다른 액티비티 시작하기
명시적 인텐트로 다른 액티비티를 시작시키기 위해서는 startAcitivity() 메소드를 호출하고,
시작하고자 하는 액티비티를 설명하는 Intent 객체를 전달하면 됩니다.
솔직히 읽어도 무슨 내용인지 모르겠다.
역시 이해는 실습이 최고 !
실습을 해보자.
저번에 만들어 둔 액티비티 3개 로 !
5.44초
FirstActivity에서 SecondActivity 시작 시키기
이걸만들어볼거다.
두번째 액티비티 시작하기 누르면 두번째페이지로 감
닫기 -
일단 이건 쉽게 xml로 만들텐데 ,
그 다음이 중요하다 .
FirstActivity.kr
에서
package com.example.activityintent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class FirstActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_first)
val btn = findViewById<>()
}
}
버튼을 연결 시켜줘야하는데,
findVieById<>()
에서 <>안에는 속성이 들어간다. 이건 버튼이므로 Button 을 넣어주고
val btn = findViewById<Button>(R.id.btn1)
그리고, 첫번째 페이지에서 만든 버튼의 아이디를 적어주는데,
나는 btn1이라는 이름을 지어줬다.
R. << R.은 접근하는걸 의미
id. <<id가 뭐냐면
btn1 << btn1이야.
btn.setOnClickListener {
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
}
setOnClickListener는
Android에서 뷰 (특히 버튼과 같은 대화형 위젯)에 클릭 이벤트를 처리하기 위해 사용하는 메서드입니다.
SecondActivity
package com.example.activityintent
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
val btn = findViewById<Button>(R.id.btn2)
btn.setOnClickListener {
finish()
}
}
}
728x90
반응형