Hello, World! しても楽しくなくない?
なので、ストアにリリースするAndroidアプリをKotlinで書きたい!と思いつつも、現在作成中のアプリはJavaで書かれており、これをリリースしたら、次のアプリはKotlinで書こう!と思っていた。
そんなとき、たまたまAndroid Studioのメニューに神機能を見つけた。
Convert Java File to Kotlin File
任意のJavaファイルを開いている状態でCode > Convert Java File to Kotlin File を選択すると、該当のJavaファイルがKotlinファイルに変換される。
このファイルをKotlin変換した結果、修正しなきゃいけない箇所がでてくるけど、
そういうのも探して修正しとく? と訊かれるので、OKを選択。
これだけだ。
何が嬉しいのか?
既存プロジェクト、既存コードに対して変換をかけてKotlinファイルを生成していけるので、ゼロから始めるのに比べて、以下のようなハッピーがある。- Kotlinを始めようと思ってHello, World! を試してみたものの、それ以降「enjoy Kotlin!」と放り出されて途方に暮れることがない。スタート地点から四苦八苦してゴールに向かうのではなく、ゴール地点からルートを振り返るカンジ
- 生成されたkotlinのコードがどのように動作するのか、自分がいちばん仕様を知っているので、コード、処理の流れがとても読みやすい。
- Javaで書いてたあの処理、あの記法は、Kotlinではどう書くのか?と、答えを探し求めてさまよう必要がない。とくに記号系のシンタックスは検索しづらいのでこれは大変助かる。
- 「動作する自分のアプリ」が手元にあって、ちょっとコードをいじってみてアプリの挙動を確かめる、ということができ、頭に入ってきやすい
- どう書いたらいいのか、ドキュメントやリファレンスではなく手元の既存コードを参考にしながら書いていける
大体のコードはKotlin変換そのままで動作するが、一部うまくいかない部分もある。
とはいえ、それもKotlinの流儀を学ぶのにちょうどいい量だし、腰を据えて問題解決に取り組むことで、深く理解するいいきっかけになる。
どうしても解決できなかったら、そこだけJavaのままにしておくことももちろん可能だ。
KotlinからJavaのメソッドを呼ぶのも、JavaからKotlinのメソッドを呼ぶのも可能なので困ることはない。
(JavaのクラスやインターフェースをKotlinでextend, implementしたり、その逆もできる)
Utilクラスから始めよう、そして成果物
アプリ全体のコードをKotlin化するのに気が引けるのなら、まずは、みんな大好きStringUtilあたりから変換してみることをおすすめする。動くコードとともにKotlinに馴染んでいき、
Kotlinの作法とかもわかってきたタイミングで体系的に学ぶのが習得の近道だと思う。
Java → Kotlin 変換 そのあとに。
このようにして作ったアプリを先日リリースしたので、最後に紹介。
子供の頃に20x20のインド九九をマスターすると色々捗るし、大人にとっては格好の脳トレになるな〜という動機から。
Usagi 九九 9x9
大人も子供も楽しめるアプリとしてリリースしました。どうぞ気軽にお試しください。
通常問題をこなしたあとは………
逆算問題にチャレンジ。実際にやってみてわかったことは、 逆算問題は、大人も結構難しいし、意外と間違える。 9x9でも充分に脳トレ効果あると思う。
Usagi インド九九 20x20
一生役に立つ能力と、脳トレ習慣をあなたに。自分が本当に欲しかったアプリはこちら。 アプリの感じは9x9バージョンと同じだけど、 20x20まで学習できるので、より計算力アップと脳トレに効果的。
なにとぞひとつmm