Android

[안드로이드/View] View Binding

gangmini 2022. 9. 6. 14:59
반응형

💡 View Binding 이란?

  • view 접근을 쉽고 간단하게 할 수 있는 방법
  • 코드에서 뷰를 사용하기 위해 매번 변수를 만들고 view 객체의 주소값을 findviewById() 로 찾아 넣는 방식이 아니라 뷰의 id를 바로 사용할 수 있도록 xml 파일을 객체화해 사용하는 방법
  • layout 폴더에 있는 xml 파일 하나당 하나의 클래스가 생성되고, 해당 xml 파일의 view를 관리
  • 안드로이드 스튜디오 버전이 변경되면서 추가된 라이브러리(기능)

* 기존 kotlin에서는  android extention 라이브러리를 깔면  xml에서 생성했던 view 객체들을 id 로 자바코드에서 바로 사용    할 수 있도록 관리되었다. 하지만 extention 또한 decreated 되면서 Java/kotlin 모두 View Binding을 사용해야 한다.

 

*gradle 설정 (의존성 관리)

viewBinding {
	enabled = true // View Binding 사용을 위한 설정
	}

// 또는

buildFeatures {
	viewBinding = true // View Binding 사용을 위한 설정
	}

 

 

  • viewBinding 객체를 담을 변수 생성 , 뷰바인딩 클래스는 xml 파일 이름을 사용해 자동 생성
    ex) activity_mian.xml → ActivityMainBinding
  • inflate()를 사용해 xml 코드를 객체화, xml에 배치된 view들을 모두 객체화, 객체화된 xml은 viewBinding 객체에서 관리
  • xml의 최상위 객체로 화면 구성 세팅 (하위 배치된 view들까지 모두 사용 가능)
class MainActivity : AppCompatActivity() {

	//lateinit var testBtn1 : Button
	//testBtn1 = findViewById(R.id.button)
    private lateinit val binding : activityMainBinding? = null

	override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
		//setContentView(R.layout.activity_main) // 기존 setContentView 제거
        


 }

 

 

https://docko.tistory.com/738

 

안드로이드 코틀린 - 뷰바인딩(View Binding)

안드로이드 스튜디오 4.0이상에서의 뷰바인딩하는 방법입니다. findViewById를 사용해서 뷰(View) 객체를 얻는 것보다 상당히 간편합니다. 1. 모듈 gradle에 뷰바인딩 클래스를 생성하도록 설정합니다.

docko.tistory.com

 

반응형