LoginSignup
6
6

More than 5 years have passed since last update.

Kotlinでクロスプラットフォーム開発 [1] Android開発環境の導入~エミュレーターで実行まで

Last updated at Posted at 2015-10-19

 [0] Kotlin導入の狙い。

 背景

Kotlin関係、既に皆さんがいろいろと書いているので、軽く。

  • Scalaなどと同様のJVM言語Kotlin。Java代替用途の他、Javascriptにも変換可能。簡潔な記述が可能で、最近、Android開発環境として注目されている。
  • RoboVMがLLVM IRを介した、JVMコードのOS X/iOS環境への実用的な変換の道を切り拓く。
  • Kotlinに近い立ち位置の、iOSのSwiftもClang経由でLLVM IRを活用(参考)。Kotlin/Swift双方で使える、永続化ライブラリRealmが(SQLite代替として)普及しつつあるため、必要に応じ、iOS開発はSwiftでいくとの決断の敷居も低い。

要するに、Kotlinで、今ちょっと頑張っておくことが、LLVM時代本格化の近い将来にクロスプラットフォームな何かで役に立つという予感がしてるということ... ^^

参考リンク① Android開発を受注したからKotlinをガッツリ使ってみた

参考リンク② 人間でもわかるLLVMバックエンド入門
 #ブラウザ向けLLVMのWebAssemblyも熱そうだ

 私的狙い

既存のJVMライブラリ資産を活かしたクロスプラットフォーム開発を行いたい。
Kotlin開発元のJetBrain社のIntelliJベースの3つの環境を適宜試しながら、進めていきたい。

  • IntelliJ (EAP15) @本家 => Kotlinの文法マスター、JavaFXの実行等に活用
  • Android Studio(1.4) @グーグル製=> IntelliJベースの環境で、android開発。
  • RoboVM Studio 1.0 EAP for Mac OS X => OS X/iOS開発

今回は、Android Studio(1.4)を導入
参考 AndroidプロジェクトのKotlin化

[1] Android StudioにKotlinを導入

Android Studio(1.4)をダウンロード後の初回起動画面"Welcome to Android Studio"で、Preferences > Plugins > Browse Repositoryで、以下をインストール後に再起動するだけ。

  • Kotlin
  • Kotlin Extensions for Android

Fig1

[2] とりあえず、ハローワールド的なことを実行。

新規Androidプロジェクトを作成。

ターゲット機器として、Android5.0(API21)環境を選ぶ。
API21
適当な雛形を選ぶと、...ビルドツールGradleがAndroidでのビルドに必要なファイルをいろいろダウンロードしてくれる。

JavaコードのKotlinコードへの変換方法

変換対象とするjavaファイルを選び、Ctrl + Shift + A を押してクイックアクションを起動し、以下のようにConvert。

(WindowsのAndroid Studio1.4では、Ctrl + Shift + Alt +Kというショートカットも利用できるのかな)
例題のテキスト等を適当に実行し、エミュレーターで実行してみると...1分ほどでエミュレーターは立ち上がるが、アプリは、FATALで落ちる。

buildscriptの設定

KotlinコードをAndroidアプリとして実行するには、build.gradleファイル内のbuildscriptの設定が必要。
先ほどインストールしたプラグイン”Kotlin Extensions for Android”のバージョンを調べ、dependenciesのclasspathを設定し、apply plugin: 'kotlin'する(下記参考)。そして、実行すると、無事動作っ。

[3] 感想

各所でいろいろ書かれているように、GoogleがJetBrain製IntelliJベースのAndroid Studioを採用した効果で、あまりわかっていなくても、とりあえず、実行まで持っていける(今回はと、インストール後の試行錯誤時間約1時間)。アプリのビルドには分単位の時間がかかった。Windows 10機でのメモリ使用量を調べるとブラウザやペイントなどのアプリがいくつか立ち上がった状態で6GB弱であったこと、参考値として。

次回は、Realmでの永続化に挑戦したい。

[復習] プログラミング言語Kotlin 解説の8.2 Androidアプリ開発

...復習というか、ちゃんと学ぶ意味で、、

[予習] Realm Java最新版 日本語文書

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6