Skip to content

Instantly share code, notes, and snippets.

@externvoid
Created May 6, 2019 00:42
Show Gist options
  • Select an option

  • Save externvoid/46b9f86e876f8160037d7710d496c777 to your computer and use it in GitHub Desktop.

Select an option

Save externvoid/46b9f86e876f8160037d7710d496c777 to your computer and use it in GitHub Desktop.

ちょっと事の次第を。故意に推薦することはなかった。使わないと推薦って意味では無い。拡張が上手く動いてるなら、使い続けてね。

我々は、拡張からは距離を置いてます。どおいうことか?Udacityコースでは教えてないっす。なぜなら、Layoutとは無関係のidの大域名前空間に拡張はwedgetのidを晒してしまうからだ。ってことは、wedgetを解凍する時、それが正しいのか?検証無しです。まとめると、拡張(APIコール)がクラッシュを増やしてしまう。

とはいえ、拡張はView探索を簡単にできる軽量APIを提供してくれてます。ここでは、同様な拡張も、Data Bindingを取り上げます。そいつは、同じような自動View探索機能を提供します。それから、そいつは、LiveData、つまり自動View更新機能も組み込まれてます。

今日はここでいくつか他の選択肢を紹介します。 DataBindingはView検索にオススメです。データバインドにも使えます。しかし、ちょいと負荷がKotlin-extensionより増えます。あなたのアプリに活用できるか?ちょっと見てみて下さい。DataBindingを使うとLiveDataがViewとデータの自動接続するのに気がつくでしょう。Kotlin-Extensionと比較するとコンパイル時間が増えます。View探索と型安全性のチェックをしてるのです。

Android Kotlin拡張は公式に推薦するものではないです。上記の問題があり今の所私のコードには使ってません。

Butter Knifeはもう一つの解放で広く使われてます。Kotlin, Javaでも上手く動きます。

コメントを読むと上手く動いてる人がたくさんいる様です。....DataBindをまだ見てないなら、みてみて!

ここでのコードスタイルは我々が普段使っている実際とは異なります。たとえばmPrefixValiableってのをここでは使ってますが、こんなスタイルを継承する理由は無いです。 kotlinx.android.synthetic は使わないほうがいいのか

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment