본문 바로가기
Android

안드로이드 (Android) 4.1 부터 'Kotlin Android Extensions' deprecated / ViewBinding 사용

by 봉이로그 2023. 11. 21.

 

'kotlin-android-extensions' 가 안드로이드 4.1부터 deprecated 되었다.

 

Jetpack의 ViewBinding을 사용해야한다.

 

사용법은 간단하다.

 

// build.gradle.kts

plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
}

...

    // Android Studio 4.0 이상이면
    buildFeatures{
        viewBinding = true
    }
 
 ...

 

 

// button.xml

<Button
        android:id="@+id/loginButton"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginTop="20dp"
        android:background="@drawable/rounded_corner_white_transparent"
        android:text="Login"
        android:textAllCaps="false"
        android:textColor="#fff"
        app:backgroundTint="@null" />

 

// MainActivity.kt

package com.example.layoutpractice

import android.os.Bundle
import android.util.Log
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.example.layoutpractice.databinding.ActivityMainBinding

// 메인화면
class MainActivity : AppCompatActivity() {

    // viewBinding 객체선언
    private lateinit var binding: ActivityMainBinding

    val TAG: String = "로그";

    // 뷰가 생성되었을 떄
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        
        // viewBinding
        // viewBinding 객체를 통해 xml의 id값들이 자동완성되고, 접근할수있게 된다.
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        
        
        // 그릴 xml 뷰 파일을 연결 시켜준다. 즉 설정한다.
        // setContentView(R.layout.activity_main)

        // 로그인 버튼 뷰에 클릭 리스너를 설정하였다.
        // 기본식
		// binding.loginButton.setOnClickListener(View.OnClickListener {
		// 		onLoginButtonClicked()
		// })

        // 람다식
        binding.loginButton.setOnClickListener {
            onLoginButtonClicked()
        }
    }

    fun onLoginButtonClicked() {
        Log.d(TAG, "로그인 버튼 클릭")
    }
}

 

 

 

 

 

Kotlin 합성에서 Jetpack 뷰 결합으로 이전  |  Android 개발자  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English Kotlin 합성에서 Jetpack 뷰 결합으로 이전 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Ko

developer.android.com

 

https://developer.android.com/topic/libraries/view-binding?hl=ko

 

뷰 결합  |  Android 개발자  |  Android Developers

뷰 결합 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정

developer.android.com