findViewById()、Kotlin Synthetic(KTX)、Data Bindingの場合


Udemyのレッスンの1つ:
Android JetPack、「アーキテクチャのクローン化とテストMasterClass」を確認
ビューを参照すると、3つの典型的な使用方法を記録します.

まずfindViewById()メソッドを使用して参照します。


Androidの開発を始めるにあたって、これもあなたがまず学ぶべき内容です.
val button : Button = findViewById(R.id.btn)
レイアウトのIDを使用してビューを参照します.

これは明示的にインポートされているため、非常に明らかです。


ただし、ビューやレイアウトが増えるにつれてfindViewById()も増加します.
小さいプロジェクトでは何ができますか.しかし、プロジェクトの規模が大きくなるにつれてfindViewById()に耐えられなくなります.
(たとえば、簡単な計算機アイテムを作成するとfindViewById()が画面を埋め尽くした...)
コードの表示が不便なため、アプリケーションのパフォーマンスも低下します.

2つ目の方法はKotlin Synthetic(KTX)であり、IDのみで参照できる。


Android Kotlinを勉強しているときにサイダーを飲んだような涼しい部分の一つそんなにfindViewById()がなくてもいい!
button.setOnClickListener{
    // Some Doing
}
この方法は時には非常に便利で役に立つことがある.
しかし、この方法はお勧めしません.
これは最も重要な部分です.AndroidはGoogleによって作成され、管理されているため、Googleはそれを使用することを提案していません.これは、いくつかの悪い方法やより良い方法があることを意味します.
(あと、間もなくKTXは消えます.Android Studio 4.0の更新に伴い、プロジェクト作成時にextensionも追加されません.)
参考資料-https://www.androidhuman.com/2020-11-24-the_future_of_kotlin_android_extensions?fbclid=IwAR0x_mlpv0UJ0X5DbnAqEwJDqLAZQAPRLaR6JXs0XdvFjxaoecr3PnuoXrM)

では、どの方法が一番いいのでしょうか.
これは唯一の答えではありませんが、

3つ目の方法はデータバインドです


Data BindingはBindingを使用して参照する方法です.

出典:Android Developerサイト
初めてBindingを見ると少しパニックになります(これは…なんだ!)
しかし、やっているうちに慣れて、かえって気持ちがよくなります.
このBindingの長所は

  • 値は自動的に更新されます.

  • コードの毒性

  • メンテナンスが容易

  • 高速化

  • MVVMおよびMVIアーキテクチャに最適です.

  • コンパイル中にエラーが発生します.

  • 安定性が保障される.
  • などの利点があります.
    現在のAndroidのトレンドを見ると、多くの人がData Bindingを推奨しています.
    以上findViewById()、Kotlin Synthetic(KTX)、Data Bindingについての記事です.