[Android & Kotlin] Buttonアプリを作ってみるとJavaよりシンプルだった

KotlinでAndroidの Button アプリを作ってみると簡単に作れました。今までよりコード量が減ってスッキリした感じです。
 
kotlin button 02 - [Android & Kotlin] Buttonアプリを作ってみるとJavaよりシンプルだった

Android Studio 3.1.4
Android 8.1.0
Kotlin 1.2.51

 



Button

 
JavaでのButtonアプリを下のように作成しましたが、
 

test button 00 100x100 - [Android & Kotlin] Buttonアプリを作ってみるとJavaよりシンプルだった
アプリの作り方の基本を習得するために、ボタンを押したら文字が変わるという簡単なアプリを作ってみます。

 
その作り方をそのままKotlinに変えるとどうなるか試してみます。
 

 

Kotlinプロジェクトの作成

 
Android Studio 3.x からKotlinのプロジェクトは簡単になりました。それ以前は設定が必要だったりします。
 
プロジェクトを作成するときに、プロジェクト名を設定するステップで
 
kotlin button 01 - [Android & Kotlin] Buttonアプリを作ってみるとJavaよりシンプルだった
 
Include Kotlin support
にチェックを入れます。(逆にJavaで作成時には外さないと困ることになります)
これだけでプロジェクトがKotlin仕様になり、クラスファイル名が MainActivity.kt などと色々と変更されます。

 

シンプルなコーディング

 
いままでButtonやTextViewを使うJavaでの記述はこのようにしていました。
Java:

 
そのままKotlinに変換すると

 
「;」が要らなくなったりとか、val、as Button など記述方法が最近の流行りの仕様になりました。
そこそこ簡単になりましたが、Kotlin Android Extensions を使うと更に短く書けます。

 
このくらい簡略化できます。
buttonは android:id=”@+id/button” のIDであるbuttonのことです
textviewはTextViewのID
findViewByIdは無くてもできるわけです。

 

サンプルコード

 
まとめてみます。
 
MainActivity.kt

 
レイアウトは変わりません
activity_main.xml

 
strings.xmlですが、これはKotlinから始まったのではなく、もともと文字列のリテラルはstrings.xmlに記述するのがお行儀のよい記述で、直に書いていると後でハマることになります。(と理解してけっこう直書きしてはいましたが)最近はうるさくワーニングが出るのでちゃんとしてみました。
 
strings.xml

 
実行します。
 
kotlin button 04 - [Android & Kotlin] Buttonアプリを作ってみるとJavaよりシンプルだった
 
更に、Javaで試したようにフォントを大きくしたりレイアウトを変更してみます。
activity_main.xml

 
kotlin button 02 - [Android & Kotlin] Buttonアプリを作ってみるとJavaよりシンプルだった
 
Kotlinでは生産性が上がるという意見もありますが、どうでしょう。今後のGoogleにおけるJavaの扱いがどうなるか、どうなっても対応できるようにしておいた方がいいのかもしれませんね。
 
References:
Kotlin and Android | Android Developers
Kotlin Programming Language

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加




アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう、時間の制約がないところが一番の魅力です。

以下の3つはAndroidが学習できるオンラインスクールです。


TECH ACADEMY
Androidアプリコース



侍エンジニア塾
侍エンジニア塾 無料体験レッスン



CodeCamp
~約8,000名の受講生と80社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp





正直ネットや本では限界があります。直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。

尚、スクールがダメだと言う人がいますが、やる気があれば問題ありません。与えられるのを待っていてはいけないですね
欲しいものは取りに行くのです。


Google Pixel 3 XLグローバル版
SIMフリー 並行輸入品
6.3インチの大画面
背景をぼかすポートレートモード撮影

Anker PowerCore II Slim 10000
Power IQ 2.0搭載
iPhone & Android対応

シェアする

  • このエントリーをはてなブックマークに追加

フォローする