タイマーアプリをKotlinで

投稿者: | 2017年10月28日

KotlinになれるためにJavaで書かれたAndroidアプリをKotlinで書きなおしてみた

[Android] タイマーアプリをAlarmManagerを使って作る

これをKotlinに変換していきます。

概要

AlarmManagerを使用して、ボタンタップしたら5秒後にアラームを発生させるというもの。

今回はAndroid Studio 3.0で作成していきます。

完成形

・WatchFor.kt

・AlarmBroadcastReceiver.kt

 

ボタン

xmlに以下のように書いておきます。

Javaではボタンイベントは

と書いていましたがKotlinではこれだけ

シンプルでいいですね

時間セット

時間をセットする部分です

Java

Kotlin

インスタンス生成はvarで通常の変数のように書いていく

varとvalというのもあるがその違いは

varは書き換え可能で、valは読み込みのみ

setterの書き方も変わっています。

PendingIntent

Java

Kotlin

一番はまったのはIntentを生成するところ

今回はAlarmBroadcastReceiverもkotlinで書いたのでclass.javaのjavaの部分は不要だろうと思いとってしまい、エラーが取れないので困った。

KotlinでかかれてもIntentの引数がJavaクラスを受け取るようになっているので.javaが必要なようだ

アラームセット

Java

Kotlin

このas AlarmManagerというのはSmart Castというようだ

BroadcastReceiver

java

Kotlin

Kotlinではオーバーライドが明示的になってますね。Javaではアノテーションでしたが、override修飾子をつけないとオーバーライドができない

 

終わり

AndroidはひさしぶりにやったのでJavaすらあやしかったがKotlinはJavaよりも簡潔でわかりやすさを感じた。いいねKotlin

 

 

参考

Kotlin文法 – クラス、継承、プロパティ

kotlinの良いところとモヤッとするところ

[Kotlin de Android] 第3回: 画面遷移をしてみよう

JavaプログラマがKotlinでつまづきがちなところ

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です