Kotlin移行3
- 2018.10.09
- 未分類
目次
目的
- Javaで書かれたプロジェクトを少しずつKotlinで書き直す
- TestもKotlin化
- 備忘録的にちょこちょこ完了まで続ける
条件
- AndroidStudio3.2.0
- Java1.8.0_152
- Kotlin 1.2.70
- gradle 4.10.2
今回の作業予定内容
- 某リリース済アプリのとあるクラスのみDataBindingで書き直したい
前提
- View、文字列リソースをButterknifeを使って実装している
- DataBindingを使うため、build.gradleに必要な記述を追加しただけでビルドが通らなくなった
- DataBindingの前にAndroidExtensionで書き直す(Extensionなら部分移行も可能)
手順と具体的な作業
プラグイン記述追記
app/build.gradle
1 2 3 4 5 6 7 |
apply plugin: 'kotlin-android-extensions' dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" } |
Viewを初期化するクラスにimport追記
HogeActivity.kt
1 2 |
import kotlinx.android.synthetic.main.activity_hoge.* |
Viewで指定したidでアクセス
activity_hoge.xml
1 2 3 4 |
<Button android:id="@+id/hoge_button" .../> |
HogeActivity.kt
1 2 3 4 |
hoge_button.setOnClickListener { // クリックされた時の処理 } |
まとめ
Butterknife結構好きで使っていたけどDataBinding試すかーってなった時部分移行できないのは辛かった反面、AndroidExtensionが部分移行できるし素敵だったので収穫だった。他でも書いていたが、複雑なことをさせないページなら無理にDataBindingに移行する必要もなさそう。
参考リンク
https://blog.yagi2.com/2017/10/18/good-bye-findviewbyid.html
-
前の記事
importにcannot resolve symbol 2018.10.03
-
次の記事
Kotlin移行4 2018.10.10
コメントを書く