Androidアプリ開発

Androidアプリ開発で覚えておきたいKotlinの記法を紹介

Androidアプリ開発するためにKotlinを利用するケースは多くなってきています。Kotlinでアプリ開発が初めてでKotlinの文法を知らないという方向けに、基本的な構文や使い方について紹介していきます。

Kotlinとは

Kotlinは、JetBrainsが中心となって開発している言語で2011年7月に登場した新しく登場しました。Googleも2017のイベントで、Androidの開発言語としてKotilnが正式に採用することを発表しました。Kotlinは、Apache 2.0ライセンスのもとOSSとして開発されていてソースコードも公開されています。特徴としては、Javaよりも完結で書きやすく、型推論やラムダ式,トレイトなどのモダンな文法を取り入れている点が挙げられます。

これからAndroidアプリ開発を始める方は、Kotlinを使って開発することをお勧めします。

特徴

  • 簡潔で書きやすい
  • NULL安全
  • 静的型付け
  • 型推論、ラムダ式などを採用したモダン言語
  • JVM上で動作しJavaとの互換がある

Android Studioのセットアップ方法

Kotlinを使ってアプリを開発するためには、まずAndroid StudioをインストールしてAndroidプロジェクトを作成する必要があります。以下の記事で、プロジェクトの作成方法について紹介していますので作ってみましょう。

Kotlinの基礎的な文法

Kotlinでアプリを開発するために必要な基礎的な構文や使い方を紹介していきます。アプリを開発する上で、必ず役に立つ構文なので覚えておくだけでアプリ開発がしやすくなるのでしっかりと押さえましょう。

変数 (var, val)

Kotlinでは、var, valを使って変数を定義します。変数はプログラミングにおいて必ずもので、定義した変数の中に文字や数値といった値を保持しておくことができます。

varを使って変数を定義

varを使って変数を定義してみましょう。varは変数の中に保持した値を、後から上書き可能な変数を定義できます。


var modifiableName: String = "My name is Taro."
// `modifiableName`は var なので値が変更できる
modifiableName = "My name is Hanako."
	

valを使って変数を定義

valを使って変数を定義してみましょう。valは変数の中に保持した値を、後から上書きできないような仕様になっています。なので、1度代入した値はそのまま保持されます。


val immutableName: String = "My name is Taro."

// `immutableName`は val なので値が変更できない
// modifiableName = "My name is Hanako."  => エラー
	

計算

定義した変数を使って計算をすることもできます。例として、足し算をする計算をしてみます。


val number_01 = 10
val number_02 = 12
val answer = number_01 + number_02 // => answerは22
	

文字連結

Kotlinでは + を使って文字列をつなげることができます。


val str = "My name is " + "Taro"
	

文字列の中で変数を展開することもできます。足し算の例を挙げてみましょう。


val number_01 = 10
val number_02 = 12
val answer = number_01 + number_02

val str = "$number_01 + $number_02 = $answer" // => strは "10 + 12 = 22" となる
	

Nullable

KotlinにはNull安全という機能があります。これは、nullを扱う時に不具合が起きないようにするための機能です。Javaでは、自前でNullを安全に処理する必要があったため、正しく処理しないと NullPointerException というエラーが発生することがありました。


// Null安全のため Nullable ではない変数に null は代入できない
// var str: String = null はエラーになる

var nullableStr: String? = null

// Nullable変数は扱い方が少し変わる
// nullableStr.contains("abc") はエラーになる

nullableStr?.contains("abc") // nullableStr = null のため何も処理をしない
	

条件分岐

条件分岐などもよく使う構文です。Kotlinでは、if構文以外にも変数と組み合わせて使える構文があるので紹介します。

if構文


val rand = (1..100).shuffled().first()
var answerString: String

if (rand % 2 == 0) {
	answerString = "$rand is even."
} else {
	answerString = "$rand is odd."
}
	

whenブロックの中で定義した条件分岐によって変数に入る値が変わります。Switch構文に似ているので、覚えやすいと思います。

val ~ when構文


val rand = (1..100).shuffled().first()

val answerString = when {
	rand % 2 == 0 -> "$rand is even."
	else -> "$rand is odd."
}
	

ifブロックの中で定義した条件分岐によって変数に入る値が変わります。if文の書き方は、通常と似ているのでわかりやすいと思います。

val ~ if構文


val rand = (1..100).shuffled().first()

val answerString = if (rand % 2 == 0) {
	"$rand is even."
} else {
	"$rand is odd."
}
	

関数

関数の定義方法について紹介します。Kotlinでは、funを使って関数を定義します。

Standard Function


fun evaluateNumber(number: Int): String {
	if (number % 2 == 0) {
		return "$number is even."
	}

	return "$number is odd."
}
	

Kotlinでは、匿名関数というものも定義することができます。定義した関数を変数の中に入れて扱うことができます。

Anonymous Function


val evaluateNumber: (Int) -> String = { number ->
	if (number % 2 == 0) {
		"$number is even."
	} else {
		"$number is odd."
	}
}

val rand = (1..100).shuffled().first()
println(evaluateNumber(rand)) // => evaluateNumber(rand)の結果が表示される
	

itについて

Kotlinではラムダ関数を使用することができ、ラムダ関数内でitを使用すると自身を参照することができます。


val text = "hello, world."

// upperは "HELLO, WORLD." になる
val upper = text.let { it.toUpperCase() }
	

KotlinコードをJavaで実行する

KotlinでビルドしたコードはJVM上で実行できるようにコンパイルされます。JVM上で動くということは、Javaでも実行できるようになります。興味のある人は、是非試してみてくださいね。

Androidアプリの開発の手順や必要な知識を詳しく解説!Prev

Androidアプリ開発のLayoutの基礎的な使い方をわかりやすく解説!Next

Related post

  1. Androidアプリ開発

    Android開発者になる人が読んでいる本を紹介

    Androidエンジニアになるために、どんな本を読んで勉強すれば良いだ…

  2. Androidアプリ開発

    Androidアプリでダークモードに対応する方法を紹介

    アプリやOSのUIを全体的に黒を基調としたデザインにする機能で、201…

  3. Androidアプリ開発

    Androidアプリ開発のLayoutの基礎的な使い方をわかりやすく解説!

    Androidアプリ開発で、欠かせない要素となっているのがレイアウトで…

  4. android lifecycle

    Androidアプリ開発

    Androidアプリ開発で大切なライフサイクルを分かりやすく解説

    モバイルアプリを開発していると、ビューの初期化が上手くできなかったり更…

  5. Androidアプリ開発

    AndroidアプリのActivityとFragmentの違いや使い方を詳しく解説

    アプリを作り始めで画面の作り方がよく分からない、ActivityやFr…

  6. Androidアプリ開発

    Androidアプリにカメラ機能を開発する手順をわかりやすく解説!

    Androidアプリを開発するとき、カメラや写真を使ったアプリを作りた…

PAGE TOP