Edited at

Kotlinでアプリ開発を始めるためのAndroidアプリ開発環境構築とREPLの使い方

More than 1 year has passed since last update.

株式会社LITALICOでエンジニアを勤めています水上貴晶です。

LITALICO Advent Calendar 2016』8日目の記事となります。

Androidアプリ開発をKotlinで始めるための手順とREPL(Read-Eval-Print Loop)の使い方をまとめます。

インストールの手順や画面はAndroid Studio 2.2.2、OS Xを前提として書きます。またAndroid StudioおよびJDKのインストールは済んでいるものとして話を進めます。

Android StudioのインストールやJDKのインストールは下記の記事を参考してインストールをしてみて下さい。

Androidアプリ 開発環境構築手順 MacOSX編


開発環境構築

KotlinでAndroidアプリ開発を行う事はとても簡単でKotlinのプラグインを導入するだけです。


Kotlinプラグインの導入方法


  • 右下にあるConfigureからPreferencesを選択

スクリーンショット 2016-11-24 21.21.39.png


  • 下図のような画面になるので、左側のリストからPluginsを選び、Install JetBrains plugin...を選択

スクリーンショット 2016-11-24 21.22.36.png


  • プラグイン選択画面が表示されるので、左上のテキストボックスにkotlinと入力


  • Kotlinを選択しInstallボタンを選択(筆者はインストール済みのためInstallとは表示されていません)

スクリーンショット 2016-11-24 21.23.28.png


  • ダウンロードとインストールが行われて、インストールが完了したらAndroid Studioを再起動してプラグインを有効化


サンプルプロジェクトの作成

Kotlinプラグインがインストール済みAndroid StudioでHello World!を表示させるだけのアプリを作成してみましょう。


プロジェクト設定



  • Start a new Android Studio projectを選択して、新規プロジェクトを作成

スクリーンショット 2016-11-26 16.14.29.png


  • Application Name、Company Domainを設定

pc.png


  • ターゲットデバイスはPhone and Tabletのみチェック

スクリーンショット 2016-11-26 16.19.53.png


  • 自動生成してもらうアクティビティはEmpty Activityを選択

スクリーンショット 2016-11-26 16.20.06.png


  • Activity Name、Layout Nameはデフォルトのまま

スクリーンショット 2016-11-26 16.20.23.png

プロジェクトの設定をまとめたものを以下に表に示します。また、Application NameやCompany Domainはなんでも構いません。Minimum SDK等、適宜お好きな設定にしてください。

項目

Application name
SampleApp

Company Domain
sample

Target Android Devices
Phone and Tablet

Minimum SDK
API 17

Activity
Empty Activity

Activity Name
MainActivity

Layout Name
activity_main


プロジェクトの初期状態

プロジェクトを作成すると下図のような状態になると思います。画面に表示されているコードはJavaで記述されたMainActivityのソースファイルなのでKotlinを使用するための設定が必要です。

スクリーンショット 2016-11-26 16.33.02(2).png


Kotlinへ変換

Kotlinへの変換を手動で行っても構いませんが、せっかくなのでKotlinプラグインの自動変換機能を使います。

メニューからCode -> Convert Java File to Kotlin Fileを選択します。

スクリーンショット 2016-11-26 16.37.51(2).png

するとMainActivity.javaがMainActivity.ktに自動的に変換されます。

変換後の画面は下図です。Kotlinのコードになっている事が分かります。

スクリーンショット 2016-11-26 16.38.19(2).png

変換後も、Kotlinソースファイルが配置されているディレクトリがjava配下のままなので、このディレクトリ名をkotlinに変えるとよいと思います。

ディレクトリ名をkotlinに変えるにはbuild.gradleの下記の設定が必要です。


build.gradle

android {




sourceSets {
main.java.srcDirs += 'src/main/kotlin'

//テスト用
androidTest.java.srcDirs += 'src/androidTest/kotlin'
}
}


build.gradleを修正したら以下の手順を行う事でkotlinでアプリ開発を始める準備が完了します。


  • build.gradleを修正すると下図のようにエディタ上部にSync Nowと表示されるのでSync Nowをクリック

スクリーンショット 2016-11-26 16.47.50(2).png


  • Syncが終了したら、一度Android Studioを再起動

  • 再起動するとエディタの上部にConfigure Kotlinと表示されているのでas Kotlin(Android with Gradle)moduleをクリック(再起動しなくてもエディタの上部にConfigure Kotlinと表示されていたら再起動する必要はありません)

スクリーンショット 2016-11-26 16.54.45(2).png


  • 自動的にGradleのビルドファイルに、Kotlinに必要な記述が追記される

スクリーンショット 2016-11-26 16.57.11(2).png


Kotlinで記述したアプリを動かす

これで、すべての準備が整ったのでkotlinで書かれたアプリを実行する事ができます。Android Studioの再生ボタンをクリックしてKotlinで記述されているMainActivityをビルドして実行し、エミュレータもしくは実機で確認してみましょう。

Screenshot_2016-12-01-23-17-31.png


REPL使い方


REPLとは

対話型評価環境と言われる、対話的にプログラムを評価・実行し、結果を表示してくれるツールです。

Android Studioでは簡単にREPLの起動が出来ます。


サンプルクラスのデータ構造

ある記事がもつデータ構造を例にサンプルクラスを定義していきます。

下記に記事が持つデータとユーザー(作成者)のデータを整理します。

記事で使用するデータ

名前
説明

id
ID

title
タイトル

summary
概要

user
ユーザー(作成者)

ユーザー(作成者)で使用するデータ

名前
説明

id
ID

name
名前


サンプルクラスのソースファイル作成

ユーザーはUserクラス、記事はArticleクラスとして定義しました。


model/User.kt

data class User(val id: String,

val name: String)


model/Article.kt

data class Article(val id: String,

val title: String,
val summary: String,
val user : User)


REPL起動

Android Studio上で動作するREPLを使用してクラスUserArticleの動作を確認します。Android StudioのメニューからTools -> Kotlin -> Kotlin REPLを選択(使用するモジュールを選択する必要があった場合はappを選択してくだい)

スクリーンショット 2016-12-01 22.36.18(2).png

REPL上にYou're running the REPL with outdated classesというメッセージが出ていた場合は隣に表示されているBuild module 'app' and restartをクリックして、ビルドとREPLの再起動を行います。

あとはREPL上にコードを書いてcommand + Enterで実行してみましょう。

import sample.sampleapp.model.*

val user = User("1", "Yamada")
user[command + Enter]

User(id=1, name=Yamada)

import sample.sampleapp.model.*

val user = User("1", "Taro")
val article = Article("1", "Kotlin開発環境構築", "Kotlin開発環境構築簡単", user)
article[command + Enter]

Article(id=1, title=Kotlin開発環境構築, summary=Kotlin開発環境構築簡単, user=User(id=1, name=Taro))

スクリーンショット 2016-12-01 23.10.17(2).png


まとめ

今回はAndroidアプリ開発をKotlinで始めるための手順とREPL(Read-Eval-Print Loop)の使い方をまとめました。Android StudioでKotlinの開発環境構築は簡単に出来るので、ぜひ試してみて下さい。

次回は、yk_osakaさんがSendGridについて書いてくれます。