Edited at

KotlinでAndroidアプリをHello World!!

More than 5 years have passed since last update.

Android開発でKotlinを使おうと思い立ちました。

(クックパッドでは既にプロダクトレベルでの導入も行っているそうです!!

2014/2/1現在は、IntelliJプラグインが用意されているようです。(EclipseはComing Soonになってます)

ちなみにWeb上では簡単に試せます。

http://kotlin-demo.jetbrains.com/

shoma2daをフォロー


Kotlinとは

IntelliJの開発元、JetBrain社による言語です。

JVM上で動作します。

GroovyやScalaからも特徴を取り込んでいて、簡潔な記述ができるそうです。

更に詳しくはWikipediaへ。


IntelliJのダウンロード

そもそもIntelliJ使ったことないです...

公式サイトからダウンロードします。

http://www.jetbrains.com/idea/download/

今回はComunity Editionをダウンロード。

スクリーンショット 2014-02-01 18.34.30.png

インストールはApplicationディレクトリへのコピーだけです。

スクリーンショット 2014-02-01 18.37.08.png

インストールしたIntelliJのバージョンは13.0.2でした。

スクリーンショット 2014-02-01 18.43.13.png


Kotlinプラグインをインストール

KotlinのGetting Startedの手順通り進めていきます。

Preferences -> Plugins -> Browse Repositoriesを選択していきます。

この画面で以下のURLを入力します。

http://teamcity.jetbrains.com/guestAuth/repository/download/bt345/.lastSuccessful/updatePlugins.xml

スクリーンショット 2014-02-01 20.34.40.png

するとプラグインが追加されるので右クリックしてDownload And Installします。

スクリーンショット 2014-02-01 20.34.40.png


Android開発環境の準備

IntelliJの設定をAndroid用に整えておきます。

起動画面から設定を行っていきます。

Configure→Project Defaults→Project Structureと進んでいきます。

スクリーンショット 2014-02-01 20.51.11.png

SDKとAndroid SDKの2つを設定しておきます。

スクリーンショット 2014-02-01 21.21.58.png


プロジェクトの作成

いよいよプロジェクトを作成していきます。

New Project→Application ModuleでAndroidプロジェクトを作成して実行できることを確認しておきます。

MainActivtyが初期表示される場合を例とした場合の手順は以下です。


  1. MainActivity.javaを削除する

  2. 同じパッケージでNew→Kotlin FileからMainActivityを作成する(MainActivity.kt)

  3. 下記MainActivity.ktのように記述する

  4. 画面右上に「Configure Kotlin」という表示がされるので「as Kotlin (Java) module」を選択する

    →選択したディレクトリ(libかlibsあたり)にkotlin-runtime.jarkotlin-runtime-sources.jarが入っていることを確認


MainActivity.kt

package com.example.KotlinTest

import android.app.Activity
import android.os.Bundle

class MyActivity() : Activity() {

override fun onCreate(savedInstanceState : Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
Log.d("test", "Hello Kotlin Android App!!");
}
}


実行すればアプリが動くはずです!お疲れ様でした!

shoma2daをフォロー