728x90
- Intent
- findViewById
Intent의 활용
- 액티비티 간 화면 전환 및 데이터를 전달하는 기능
Intent를 활용해서 간단한 기능의 버튼 만들기
- xml 파일에서 버튼을 두 개 만들어준다
- 한 개는 단순히 네이버로 연결, 다른 한 개는 통화버튼
변수(myIntent)를 선언해 주고 암시적 인텐트?를 사용해서 Uri.parse()를 이용해서 네이버 홈페이지 주소를 적어준다
startActivity(변수)로 전환할 액티비티를 호출한다
*암시적 인텐트로는 웹 브라우저 열기, 전화 걸기, 구글 맵 열기, 메시지 보내기, 카메라 기능 등이 있다고 한다
onButton1Clicked 결과(네이버 홈페이지)
onButton2Clicked 결과(010-1234-5678 통화)
이 외에도 많은 기능이 있지만 대표적으로는 액티비티 간의 화면전환과 putExtra() 메서드를 통해 데이터를 Intent에 포함하여 전달이 가능하다
findViewById의 활용
- xml에서 만든 뷰에 id를 부여해서 받아와 코드에서 사용할 수 있게 해주는 메서드
findViewById를 활용해서 간단한 주사위 기능 버튼 만들기
- 숫자 결과가 나올 TextView를 생성해 준다
- 주사위를 굴리는 기능의 버튼을 생성해 준다
- 각각의 뷰에 id를 부여해 준다
- findViewById<타입>(R.id.뷰에서 지어준 id)를 이용해 변수를 생성해 준다
- btn_dice(= findViewById를 이용해 뷰에서 만든 Button 호출)에 setOnClickListener{}를 이용해 클릭했을 때, tv_num(=findViewById를 이용해 뷰에서 만든 TextView 호출)에 1~6까지의 숫자를 랜덤으로 나오게 한다
- 24) Logcat을 보기 위해서 만든 로그
에뮬레이터 결과
Logcat 결과
되게 좋은 기능 같아 보이지만, 느리고 null-safe 하지 못한다는 단점을 가진다고 한다
→ 그래서 빠르고 안전한 ViewBinding을 사용한다고 한다
728x90
'코틀린(Kotlin) > TIL' 카테고리의 다른 글
[코틀린(Kotlin)] 안드로이드 UI 레이아웃(Layout (0) | 2023.12.13 |
---|---|
[코틀린(Kotlin)] 안드로이드 UI 위젯(Widget (0) | 2023.12.12 |
[깃허브(GitHub)] 깃허브를 활용하는 협업(Branch, Pull Requests) (0) | 2023.12.04 |
[Kotlin 문법] 코틀린 심화 (0) | 2023.12.01 |
[Kotlin 문법] 객체지향 프로그래밍의 심화 (0) | 2023.11.30 |