対象読者
- Androidアプリ開発者
3.0リリース
Android Studioの2.0がリリースされたのが、2016年4月7日(現地時間)です。今回1年半ぶりのメジャーアップデートである3.0が、2017年10月25日(現地時間)にリリースされました。このCodeZineでも、速報としてこちらの記事が公開されています。この記事に記載されている通り、注目すべき機能がいくつかあります。ここでは、そのうち以下の内容をもう少し詳しく紹介していきます。
- Kotlinサポート
- 新しいJavaの書き方をサポート
- Layout Inspector
- XMLフォントとダウンローダブルフォント
- Android Profiler
- Instant Appsサポート
- Android Emulator Quick Boot
Kotlinサポート
今回のアップデートで最も注目されているのがこのKotlin言語の正式サポートです。
KotlinはJVM言語のひとつで、Android StudioのベースとなっているIntelliJ IDEAを開発しているJetBrains社が開発した言語です。Javaとの互換性を維持しつつもJavaよりも簡潔に記述できることを目指して開発されています。このKotlinでAndroidアプリを作成しようとした場合、今まではプラグインをインストールして使っていました。今回のアップデートで、このKotlinが正式サポートされたということは、Java以外で対等の立場として、Androidアプリ開発のための言語がもうひとつ追加されたことに他なりません。
さて、早速そのKotlinでプロジェクトを作成する方法を見ていきましょう。といっても非常に簡単です。Android Studio 3で新規プロジェクト作成ウィザードを起動すると、第1画面は図1の通りになっています。
画面下部に[Include Kotlin support]のチェックボックスがあります。これにチェックを入れるだけです。あとは今まで同様、プロジェクト情報を入力してプロジェクト作成を完了してください。すると、作成されたプロジェクトのエディタ領域は図2のようになります。
今までは「MainActivity.java」となっていたファイル名が「MainActivity.kt」とKotlin言語ファイルになっており、あらかじめ記述されているソースコードもKotlin言語になっています。
ここにKotlin言語でソースコードを記述することでAndroidアプリ開発が行えます。例えば、リスト1ではIDとしてtvHelloが設定されたTextViewに「こんにちは!」と表示するコードとして太字の2行を追記しています。
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var tvHello = findViewById<TextView>(R.id.tvHello) tvHello.setText("こんにちは!") } }
リスト1の2行目を見てください。Javaと同じようにonCreate()メソッドが記述されています。Kotlinは変数の後ろにコロン(:)で区切ってデータ型を記述するので、引数のデータ型はBundleです。では、「?」は何を意味するのでしょうか。これは、nullになる可能性があることを示します。逆に「?」が記述されていなければその変数(引数)はnullにならない変数(引数)を表します。このように、Kotlinはnullの可能性があるものとないものを厳格に区別することで、Javaと比べてnullに対して安全な言語仕様となっています。
また、同じく5行目を見てください。変数を宣言する際、Javaならば、
TextView tvHello = …
と、変数の型を指定する必要がありました。5行目にはそれがありません。それは、Kotlinでは型推論を行ってくれるからです。この仕組みにより、Kotlinではシンプルな記述が可能となっています。