Androidのメモとか

ポキオの日記です。今日も遅延してない。

いまさらだけどKotlinでAndroidアプリを書いてみる

社内外のAndroidエンジニアが絶賛しているKotlin。このビッグウェーブに乗り遅れないために、ちょっと触ってみました。

参考

kotlinlang.org

本家サイトを参照しました。

環境構築

First, if using Android Studio, you’ll need to install the Kotlin plugin. Go to File | Settings | Plugins | Install JetBrains plugin… and then search for and install Kotlin. You’ll need to restart the IDE after this completes.

Android Kotlin

まずは、Kotlinのプラグインをインストール。ちょっと時間がかかる。インストールしたらAndroid Studioを再起動する。

Android Kotlin

起動完了。

コーディング開始

It’s extremely easy to start using Kotlin for Android development!

はい。

First let’s create a new project.

とりあえず、プロジェクトを作ります。

Open MainActivity.java file. Then invoke action Convert Java File to Kotlin File.

MainActivity.javaをKotlinに変換します。すると、MainActivity.ktに変換されます。

Android Kotlin

kotlin convertで検索すると、簡単にアクセスできます。ワンクリックで変換可能。

Android Kotlin

こんにちは、Kotlin。

Android Kotlin

エラー

なぜかビルド時にエラー。

Android Kotlin

Error:Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.0.7

こちらは、Kotlinのバージョンを1.1.1にしたら解決。

Android Kotlin

無事にビルトができました。

ちょっと書き足してみる

ボタンが押されたらTextViewの文字が変わるというクソ実装。

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    override fun onResume() {
        super.onResume()

        val button = findViewById(R.id.button) as Button
        val textView = findViewById(R.id.textview) as TextView

        button.setOnClickListener { textView.setText("Button is clicked!") }
    }
}

Javaに比べて、かなりシンプルに書けます。

Android Kotlin

無事にビルドも通り、動作も問題なさそうです。

サマリ

かなりJavaとは違った文法ですが、Kotlinは安心と信頼のJetBrains製。Android Studioとの親和性は問題なさそうです。コーディングもかなりシンプルになり、一度慣れてしまえば病みつきになりそうです。Swiftとの親和性もあるとのことなので、いざと慣ればiOSのプログラミングにも対応できそう・・・!?

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。