본문 바로가기
2023년 이전/Android

코틀린 안드로이드 익스텐션 비추천

by JeongUPark 2020. 11. 6.
반응형

이번 코틀린 업데이트에서 다음 업데이터 내용을 확인 했습니다.

(출처 : github.com/JetBrains/kotlin/releases/tag/v1.4.20-M2)

 

위의 이미지를 보면 Deprecate Kotlin Android Extensions compiler plugin 즉, 코틀린 안드로이드 익스탠션을 비추천한다는 내용입니다

 

그럼 코틀린 안드로이드 익스텐션은 무엇인가?

 

xml 레이아웃에 id를 적용하고 code에서 그 레이아웃과 연결할 때 findViewById로 연결 해 주었다면

val actionBtn = (Button) findViewById(R.id.btn_action);


//////
    <Button
        android:id="@+id/btn_action"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="16dp"
        android:layout_marginRight="16dp"
        android:text="@string/submit"
        app:layout_constraintBottom_toBottomOf="@+id/et_activity_extension_name"
        app:layout_constraintRight_toRightOf="@+id/constraintLayout"
        app:layout_constraintTop_toTopOf="@+id/et_activity_extension_name" />

 

코틀린 안드로이드 익스텐션을 사용하면 findViewById를 안쓰고 바로 id로 코드에서 사용할 수 있습니다.

btn_action.setOnClickListner{
	Log.d("TEST", "click action")
}

 

그런데 위의 편리하 코틀린 안드로이드 익스텐션을 이제는 비추천을 한다고하고, 들리는 이야기로는 안드로이드 스튜디오 4.1 부터는 쓸 수 없다고 합니다. (이 부분은 아직 확인 안해봤습니다.. 확인되신 분들은 댓글점..)

 

자 그럼 저 편리한 코틀린 안드로이드 익스텐션을 안쓰고 우엇으로 레이아웃과 코드를 결합해야 할 까요?

 

저같은 경우에는 데이터 바인딩을 통하여 레이아웃과 결합을 하는 방법을 사용하고 있습니다.!!

 

그 방법은 다음에서 확인 할 수 있습니다!! (제가 안적은 것은 공식 문서에 엄청 친절하게 잘 작성되어 있기 때문 입니다.)

developer.android.com/topic/libraries/data-binding/expressions?hl=ko

 

레이아웃 및 결합 표현식  |  Android 개발자  |  Android Developers

표현식 언어를 사용하면 뷰에 의해 전달된 이벤트를 처리하는 표현식을 작성할 수 있습니다. 데이터 결합 라이브러리는 레이아웃의 뷰를 데이터 객체와 결합하는 데 필요한 클래스를 자동으로

developer.android.com

 

그럼 다들 열공!! 입니다!!

반응형

'2023년 이전 > Android' 카테고리의 다른 글

SafetyNet 보안 관련  (0) 2021.12.03
In-App Reviews  (0) 2021.12.03
Android - 라이브러리를 활용한 인디케이터 ( dotsIndicator )  (0) 2020.11.06
[API] 다음 주소 API 활용하기  (6) 2020.10.07
Ime hide catch  (0) 2020.09.25