하루플스토리
Home
  • 전체보기 (253)
    • 개발 (104)
      • Android (68)
      • IOS (1)
      • 코딩테스트 (34)
      • 딥러닝 (1)
    • 블로그 (9)
      • 공지사항 (4)
      • 이슈, 유머 (5)
    • 일상 (17)
      • 일상 (9)
      • 전자제품 (7)
      • 사진 (1)
    • 메이플 (120)
      • 메이플스토리 (120)
Home
  • 전체보기 (253)
    • 개발 (104)
      • Android (68)
      • IOS (1)
      • 코딩테스트 (34)
      • 딥러닝 (1)
    • 블로그 (9)
      • 공지사항 (4)
      • 이슈, 유머 (5)
    • 일상 (17)
      • 일상 (9)
      • 전자제품 (7)
      • 사진 (1)
    • 메이플 (120)
      • 메이플스토리 (120)
블로그 내 검색
Github

하루플스토리

안드로이드 개발자 하루플 입니다 GitHub 놀러와주세요!😊

  • 개발/Android

    [Kotlin] 안드로이드스튜디오 뷰바인딩

    2021. 11. 15.

    by. 하루플스토리

    안녕하세요, 하루플입니다.

     

    자바에서 코틀린으로 넘어가면서 코틀린 공부를 하고 있는데 예전 강좌를 보니 변수 선언이 엄청 간단하더라구요.

    xml의 id를 변수 선언할 필요 없이 그냥 변수를 적으면 되더군요... java에 비해 너무 간단하더라구요.

     

    그런데 막상 해보니 작동되지 않았습니다.

    알고보니 코틀린 익스텐션 이라는 기능이 업데이트 되면서 막혀버렸습니다.

     

    대신 뷰바인딩 이란 것을 사용해서 쓸 수 있더군요.

     

    우선, 기본적인 변수 선언 방식 입니다.

    val btn1 : Button = findViewById(R.id.btn1)

    하지만 뷰바인딩을 사용하게 되면 아주 간단하게 변수를 선언할 수 있습니다.

     


    뷰바인딩 하는 방법

    1. 먼저 build.gradle 모듈탭에 아래 buildFeatures 구문을 작성해줍니다. 작성 후 Sync Now 꼭 합시다.

    android {
    	//기존 내용 생략
        buildFeatures{
            viewBinding true
        }
    }

     

    2. MainActivity.kt 파일에 뷰 바인딩 코드 작성

    참고로 xml의 버튼 뷰 변수는 btn1 입니다.

    class MainActivity : AppCompatActivity() {
    
        private var mBinding: ActivityMainBinding? = null
        private val binding get() = mBinding!!
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            // setContentView(R.layout.activity_main) 이 부분 제거
    
            mBinding = ActivityMainBinding.inflate(layoutInflater)
            setContentView(binding.root)
            
            binding.btn1.setOnClickListener{
                //버튼 클릭 시 이벤트
            }
        }
    
        override fun onDestroy() {
            mBinding = null
            super.onDestroy()
        }
    
    }

     

    위 코드 처럼 바인딩을 하면 앞에 binding 변수만 적어주고 xml의 변수 선언 없이 그대로 사용할 수 있습니다.

     

     

    아래 블로그를 참고하여 작성하였습니다.

    https://duckssi.tistory.com/42

     

    [Android Kotlin] View Binding ( 뷰 바인딩 )

    네 여러분들 안녕하십니까 홍 드로이드 입니다 :) 이번 시간에는 코틀린에서 View Binding ( 뷰 바인딩 )을 하는 방법에 대해서 안내드리도록 하려고 합니다. 우선 뷰 바인딩에 대해서 쉽게 말씀드리

    duckssi.tistory.com

     

    저작자표시 비영리 동일조건 (새창열림)

    '개발 > Android' 카테고리의 다른 글

    안드로이드 MVVM 패턴  (0) 2022.01.23
    안드로이드스튜디오 AWS Amplify 알아보기  (0) 2021.11.16
    [코틀린/Kotlin] 오버라이딩과 추상화  (0) 2021.11.03
    [코틀린/Kotlin] 클래스 공부 내용 정리  (0) 2021.11.02
    [코틀린/Kotlin] 기초 문법 정리  (0) 2021.11.01

    댓글

    관련글

    • 안드로이드 MVVM 패턴 2022.01.23
    • 안드로이드스튜디오 AWS Amplify 알아보기 2021.11.16
    • [코틀린/Kotlin] 오버라이딩과 추상화 2021.11.03
    • [코틀린/Kotlin] 클래스 공부 내용 정리 2021.11.02
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
하루플스토리

티스토리툴바