[Android] TextViewのJavaコードをKotlinに自動変換してみる

Android Studio 3.x ではJavaコードを自動でKotlinに変換する機能があります。TexViewで試してみました。
 
textview a01 - [Android] TextViewのJavaコードをKotlinに自動変換してみる

Android Studio 3.1.3
Android 8.1.0
Kotlin 1.2.50

 



TextView

 
JavaでのTextを表示させるTextViewは下のように作成しましたが、そのコードをKotlinに変えるとどうなるか試してみます。
 

textview a00 100x100 - [Android] TextViewのJavaコードをKotlinに自動変換してみる
テキストを表示するアプリです。テキストはTextViewを使います。よく使うものですが、いちいち書いていると疲れるのでコピペできるように簡単...

 

 

Kotlinプロジェクトの作成

 
Android Studio 3.x からKotlinのプロジェクト作成は簡単になりました。それ以前は色々と設定が必要だったりします。
 
プロジェクトを作成するときに、プロジェクト名を設定するステップで
 
kotlin button 01 - [Android] TextViewのJavaコードをKotlinに自動変換してみる
 
Include Kotlin support にチェックを入れます。
(逆にJavaで作成時には外さないと困ることになります)

これだけでプロジェクトがKotlin仕様になり、クラスファイル名が MainActivity.kt などと色々と変更されます。
 
Kotlinバージョン:以下のようなエラーが出ることがあります。

Outdated Kotlin Runtime
Your version of Kotlin runtime in ‘org.jetbrains.kotlin:kotlin-stdlib:1.1.51@jar’ library is 1.1.51, while plugin version is 1.2.30-release-Studio3.0-1.
Runtime library should be updated to avoid compatibility problems.

 
versionを1.2.30に修正します。(Android Studio 3.1.3 では1.2.50)
build.gradle(Project: xxx)

 

Javaコードの自動変換

 
JavaではTextViewの設定を以下のようにしていました。
Java: layoutファイルにIDがtext_viewのTextViewがあると想定します。

 
これをKotlinプロジェクト上でコピペすると以下のようなダイアログが表れますので「Yes」を選択
 
kotlin textview 01 - [Android] TextViewのJavaコードをKotlinに自動変換してみる
 
javaコードがKotlinに変換されます。
 

 

Kotlin Android Extensions

 
Kotlin Android Extensions というプラグインを使うと findViewById() を使わないで簡略化できます。
またGoogleのドキュメント Kotlin and Android | Android Developers には
Say goodbye to findViewById とありますね。
 

findViewById() は色々と使いにくいなど問題がありますがそれを簡単に分かりやすくしてくれます。
 

 
importは必要ですが1行だけになりました。
text_view は、レイアウトファイル activity_main.xml
のTexViewの id であるtext_viewのことです
 

 
またimportの追加としての activity_main 
 

 
レイアウトファイルの activity_main.xml
を指しています。レイアウトファイルが変われば変更になります。
 
例えば activity_sub.xml のレイアウトを呼ぶ場合は
 

 
となります。
 
JavaファイルをKotlinに変換する機能があります。
メニューの「Code」「Convert Java File tp Kotlin File」というのを使うと一括変換できます。ただ現状ではそのままいい具合に変換されるとは限りません。この変換の後で結局マニュアルで修正しないとエラーが色々出てしまうことはあります。
 
kotlin textview 03 - [Android] TextViewのJavaコードをKotlinに自動変換してみる

 

サンプルコード

 
まとめてみます。
 
MainActivity.kt

 
レイアウトです
activity_main.xml

 
リソースです
strings.xml

 
実行します。
 
textview a02 - [Android] TextViewのJavaコードをKotlinに自動変換してみる
 
更に、Javaで試したようにフォントを大きくしたりレイアウトを変更してみます。
activity_main.xml

 
textview a01 - [Android] TextViewのJavaコードをKotlinに自動変換してみる
 

 
References:
Kotlin and Android | Android Developers
Kotlin Programming Language

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

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


 


ページのトップへ戻る




シェアする

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

フォローする