Help us understand the problem. What is going on with this article?

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

More than 3 years have 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について書いてくれます。

litalico
「障害のない社会をつくる」というビジョンに向けて、社会の側にある障害をテクノロジーの力で取り除くことを目指す
http://litalico.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away