-

Android での Kotlin の使用に関するよくある質問

なぜ Kotlin は Android の第一級のサポート言語になったのですか?

Kotlin は Android 対応言語であり、簡潔かつ機能が豊富で、型安全とヌル安全の特徴 を持ちます。Java 言語とシームレスに連携するため、Java 言語に慣れたデベロッパー は Java 言語を引き続き使用しながら、Kotlin コードを段階的に追加して Kotlin ライブラリを活用することが容易にできます。また、すでに多くの Android デベロッパーが、Kotlin を使用すると迅速かつ楽しく開発できるようになる と認めており、Google では、これらの Kotlin ユーザーをさらにサポートしたいと 考えています。Kotlin と Android の詳細については、こちらをご覧ください。

 

すでに Kotlin 言語を使用しているユーザーにとって、何か変更点はありますか?

短期的な大きな変更は、Android Studio 3.0 以降、完全にテストされた Kotlin のサポートが導入されることです。Google では、これにより、はるかに簡単で 安定した開発が可能になると考えています。

 

Android Studio で Kotlin を使用するにはどうすればよいですか?

Kotlin は Android Studio 3.0 以降で完全にサポートされています。以前、Kotlin を使用 するには、Kotlin プラグインを追加する必要がありましたが、Android Studio の 新しいリリースにはすべて、これらのツールが組み込まれています。そのため、追加 のステップを必要とせずに、Kotlin ファイルで新しいプロジェクトを作成したり、 Java 言語コードを Kotlin に変換したり、Kotlin コードをデバッグしたりすることが できます。「Kotlin を使ってみる」の記事をご覧ください。

 

Android Studio で Kotlin をデバッグするにはどうすればよいですか?

Kotlin のデバッグは、Java コードのデバッグと同様に操作します。異なる操作をする 必要はありません。

 

Kotlin には他にどのような IDE サポート(lint、オートコンプリート、リファクタリングなど)が用意されていますか?

Android Studio 3.0 以降、IDE では Kotlin の完全なツールサポートを提供します。 ただし、いくつかの 既知の問題と制限があり、 現在、修正を行っています。

 

Kotlin の今後は?

Google が Kotlin を採用する理由の 1 つは、JetBrains によって精巧に設計された 言語であるためです。Google は JetBrains と提携して、言語からフレームワーク、 ツールに至るまで、デベロッパーの全体的な利便性を保証します。また、Kotlin 言語 を非営利組織に移行するために連携しています。

 

Kotlin はオープンソースですか?

Kotlin の優先ライセンスは Apache Software License、バージョン 2.0 (「Apache 2.0」)であり、Kotlin ソフトウェアの大半は Apache 2.0 のライセンス を使用します。このプロジェクトでは優先ライセンスができる限り使用されますが、 例外的にケースバイケースで処理されることもあります。たとえば、 Kotlin で使用される特定のサードパーティの依存関係で、別のオープンソース ライセンスが使用されていながら、Apache 2 ライセンスとの互換性を持つ場合も あります。

 

Java 言語と Kotlin 言語のどちらかを選択するは、どうすればよいですか?

どちらかを選択する必要はありません。両方を使い分けることができます。Kotlin が 適しているかどうかを確認するには、Android で試してみるか、 こちらの Kotlin のリソースを参照して、 詳細を確認することができます。

 

Android や他の Java 言語ライブラリ API を Kotlin から呼び出せますか?

はい、呼び出せます。Kotlin は Java 言語との相互運用性を提供します。設計上、Kotlin コードは Java 言語メソッドを透過的に呼び出すことができます。さらに、Kotlin のみの 機能を Java コードに簡単に公開できるようにするアノテーションも使用できます。 Kotlin 固有のセマンティクスを使用しない Kotlin ファイルは、アノテーションなしで Java コードから直接参照できます。これらの機能を活用して、Java コードと Kotlin コードをきめ細かく混在させることができます。詳細については、 Kotlin の相互運用性ドキュメントをご確認ください。

 

Android API 用の Kotlin リファレンス ドキュメントはありますか?

はい、あります。Google では、すべての Android API ドキュメントで Kotlin の言語特有の 参考資料を提供できるように準備を進めています。一部の準備が完了していませんが、 ご利用いただける Kotlin の参考資料へのリンクは Android の参考資料の概要に掲載されています。主要な Kotlin 言語の参考資料 については、 Kotlin 標準ライブラリ リファレンスをご覧ください。

 

同じプロジェクトで Java ファイルと Kotlin ファイルの両方を使用できますか?

はい、使用できます。Kotlin の Java との相互運用性を活用して、Java コードに Kotlin を自由に混在させることができます。

 

C++ で Kotlin を使用できますか?

はい、JNI は Kotlin で完全サポートされています。JNI メソッドを外部修飾子でマーク するだけで使用できます。

 

新しいプロジェクトに Kotlin を追加するにはどうすればよいですか?

Android Studio で新しいプロジェクトを作成する際に、[Include Kotlin support] チェックボックスをオンにするだけです。詳細については、 Kotlin を使ってみるをご確認ください。

 

既存のプロジェクトに Kotlin を追加するにはどうすればよいですか?

[Project] ウィンドウでモジュールを選択し、[File] > [New] を選択して Android テンプレートを選択し、[Source language] として [Kotlin] を選択します。詳細については、 Kotlin を使ってみるをご確認ください。

 

Java 言語コードを Kotlin に変換するにはどうすればよいですか?

Java ファイルを開き、[Code] > [Convert Java File to Kotlin File] を選択します。または、 新しい Kotlin ファイルを作成([File] > [New] > [Kotlin File/Class])してから、 Java コードをそのファイルに貼り付け、プロンプトが表示されたら、 [Yes] をクリックしてコードを Kotlin に変換します。詳細については、 Kotlin を使ってみるをご確認ください。

 

Kotlin には並列ドキュメント、サンプル、コードラボ、テンプレートがありますか?

Google では、Java 言語と Kotlin 言語の両方のユーザーにとって、できる限り 有益なドキュメントや資料を準備するために取り組んでいます。それまでは、Kotlin の Java 言語との優れた相互運用性と、Android Studio で Java 言語コードを Kotlin に自動的に変換する機能をご活用ください。

 

Kotlin のコルーチンは Android で動作しますか?async / await はどうですか?

Kotlin のコルーチンは現在動作しますが、現時点では実験的な設計です。 そのため、Kotlin または Android による今後の対応は 保証されていません。

 

APK のサイズやメソッド数に Kotlin が与える影響は?

Kotlin ランタイムにより、デバッグ APK に約 7,000 のメソッドと約 1 MB が追加 されます。プロジェクト内の別のライブラリ(Guava や RxJava など)を Kotlin で 置き換えた場合、実際の影響は小さくなる可能性があります。このサイズはまた、 他のアプリコードやライブラリと同様、Proguard を使用してリリースするために APK を最適化すると縮小します。

 

Kotlin を使用するとパフォーマンスに影響はありますか?

Kotlin はパフォーマンスに直接影響を与えるものではありませんが、Java 言語と 同様、使用方法については慎重に検討する必要があります。たとえば、 新しいコレクション インスタンス間で繰り返しコピーを実行すると、GC の パフォーマンスに影響を与える可能性があり、null 以外の型を受け入れるメソッドを 呼び出すと、null チェックのメソッド呼び出しが追加されます(ただし、ランタイム null チェックは、コンパイラで -Xno-param-assertions を使用して無効に できます)。

 

Kotlin は Android のどのバージョンをサポートしていますか?

すべてのバージョンをサポートしています。Kotlin は JDK 6 と互換性があるため、 Kotlin を使用したアプリは古い Android バージョンでも安全に動作します。

 

Kotlin の詳細はどこで確認できますか?

Kotlin の学習用リソースをご確認ください。