はじめての Kotlin/Android アプリ開発
ここでは開発環境の確認の意味も込め、簡単なプログラムを作りましょう。 ボタンをタップすると、"Hello, world" という Toast メッセージが表示されるだけのプログラムを作ります。
言語はもちろん Kotlin を使います。
さて、Android Studio を起動します。
を選択します。
次の画面でアプリケーションのテンプレートを選択します。ここでは、もっともシンプルな
を選択します。テンプレートを選んだら、
を選択して、次の画面にいきます。ここでは、アプリケーションの名前を HelloWorld にしました。他はデフォルトの設定のままです。
Language (言語) は Kotlin が選択されていることを確認してください。
をクリックすると、プロジェクトの初期化が始まります。
これには少し時間がかかりますので、動きがなくなるまで待ちましょう。
さて、作りたいのは、上の画面でみたように、「画面の中央にボタンが一つ配置されていて、それをタップすると小さな通知メッセージが表示される」 というプログラムです。
これを実現するために、少しコードを書き換えてみましょう。
ユーザーインターフェイスの定義
Android ではユーザーインターフェイスは、XML のレイアウトファイルで記述します。
画面左側のプロジェクトツリーで、ルートノードから app > src > main > res > layout と 降りてくると activity_main.xml があります。このファイルがメイン画面のユーザーインターフェイスを定義します。
このファイルを次のように書き換えます。
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <Button android:text="OK" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button" android:onClick="buttonClicked" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintVertical_bias="0.5" /> </android.support.constraint.ConstraintLayout>
または、GUI のインターフェイスデザイナで次の設定をします。
さらにボタンをクリックした時に、呼ばれるメソッド名を指定します。
Kotlin コードを編集
また画面左側のプロジェクトツリーで、ルートノードから app > src > main > java > com.example.helloworld と 降りてくると MainActivity.kt があります。
階層構造はパッケージ名によって変わります。また、java と書いていますが中身は Kotlin です。Kotlin は Java のバイトコードにコンパイルされて実行されます。
buttonClicked を追加します。
package com.example.helloworld import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } fun buttonClicked(view: View) { Toast.makeText(this, "Hello, world", Toast.LENGTH_LONG).show() } }
以上で、"Hello, world" と書かれた小さな通知メッセージが表示されるはずです。
まだ、Kotlin っぽいコードではありませんが、一応、これでプログラムを動かすことができました。