2017年10月25日(現地時間)、Android Studioの新バージョン3.0がリリースされました。注目すべき機能がいろいろ追加されています。本記事では、そのうちいくつかを紹介していきます。
対象読者
- 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ではシンプルな記述が可能となっています。
この記事は参考になりましたか?
- この記事の著者
-
WINGSプロジェクト 齊藤 新三(サイトウ シンゾウ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook <個人紹介>WINGSプロジェクト所属のテクニカルライター。Web系製作会社のシステム部門、SI会社を経てフリーランスとして独立。屋号はSarva(サルヴァ)。HAL大阪の非常勤講師を兼務。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
