Viewへのアクセス方法が進化していきます。
I/Oセッション
DataBinding
- Annotation Processingの速度が20%向上
- Incremental Annotation Processing
android.databinding.incremental=true
で増分コンパイルが有効化される。 - XMLの即時反映
XMLに追加するとコンパイルなしにフィールドが生成され、スムーズにViewにアクセスできるように。 - リファクタリングのサポート
コードを編集するとXMLにも反映されます。 - コンパイルエラー表示の改善
1000の大量のエラーを見ることになりましたが、DataBinding専用のエラーセクションができました。
コードジャンプ
コードジャンプも進化しました。
今まではコードジャンプすると、自動生成されたコードに飛びましたが、
ちゃんとXMLに飛ぶようになりました。
Viewへの直接のジャンプもできます。
ViewBinding
今までは、エレガント、コンパイルタイムセーフ、ビルドスピードが早い、この3つを揃えたものがありませんでしたが、その3つが揃ったのがViewBindingになります。
DataBindingとの互換性があります。
ViewにアクセスするためだけにDataBindingを使用している場合、XMLから
<layout></layout>
を削除するだけですぐに移行できます。
Android Studio 3.6 Canary 1ではまだ使えないようなので、使い方を知っている人が居たら教えてください。
おわりに
kotlin syntheticは全てのレイアウトのidにアクセスできるし、idによく使う名前なんてつけた日にはややこしいことになるしで微妙でしたのでViewBindingには期待しています。まだViewBindingは使えないのでViewにアクセスするためだけにDataBindingを使いますが、それでも凄く早く、楽に開発できるようになりました。