2021/06/06

[android] JavaからKotlinに変換したい

Androidアプリをやるからには、興味がなくても画面が多少いじれないとねー、と思って、手軽そう(な気がした)React Nativeを使ってみようとした。

Setting up the development environment · React Native
https://reactnative.dev/docs/environment-setup

Android Studioはある。Node もインストールしている。Windows 環境変数も設定している。
よし。

image

ちょっと見栄を張って(?)、TypeScript で作ってみる。

npx react-native init RNSample1 --template react-native-template-typescript

書いてあるとおりにやると、エミュレータが立ち上がってサンプルアプリが起動した。
ちなみに React Native は v0.64.2 のようだ。あまり npm のしくみをわかってないのだが、登録されている最新版を使ってくれているのかな?
(注:書いたときはv0.64.2だと思い込んでいたが、package.json を見ると v0.64.1 だった。何か見間違えていたらしい。 npm i react-native@0.64.2 まで指定するとちゃんと更新された。)


このテンプレートは Android の部分が Javaでできているので、どうせなら Kotlinにしておきたい。

テストアプリを作っていて気付いたのだが、Java のコードをクリップボードでペースとすると自動的に Kotlin変換して貼り付けるか聞いてくれるのだ。
すばらしい!

というわけで、プロジェクトを丸々 Kotlin に変換してくれないだろうか。

既存のプロジェクトに Kotlin を追加するにはどうすればよいですか?
https://developer.android.com/kotlin/faq#convert

Java ファイルを開いて、メニューから Convert を選んでやるとよいそうだ。
確認ダイアログが出たあと、やり方を聞いてくる。

image

これで OKを押すと変換され・・・あれ? 初回だからかもしれないけど build.gradle(ルートとappの2ファイル)しか更新されないぞ??

もう一度同じことをやると、今度は変換された。ファイルの拡張子も .kt にしてくれている。
まあよしとしよう(偉そうに...)。


しかし、ファイルを開いてからというのがちょっと面倒だ。
ディレクトリ以下まるまるやってくれないだろうか?

まず、1回目はツリーのトップにある app を選択して実行する。
同じダイアログが出てくるので、OK する。

image

 

2回目はここで実行。
よしよし、複数ファイル行ってくれた。

image

 

と、あっさりうまくいったように書いたが、この手順に落ち着くまでいろいろ失敗した。
ツリー表示の種類のせいか、選択しているディレクトリのせいかわからないけど、 build.gradle の plugins がどうのこうのというエラーが出ていたのだ。

まあ、うまくいったからよいのだ。

変換されたのは、 Java→Kotlin 以外だと build.gradle が 2ファイルだけだ。
何がどう変わったのかは、経験不足で分からん。 ext.kotlin_version とか kotrin-android とか、そんな感じ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。