KotlinでAndroidアプリ開発|条件分岐の実装方法とでラベルを変更するサンプルアプリ

Kotlin

 Kotlinは、Javaに似た構文を持つ、静的型付けのオブジェクト指向言語です。Kotlinは、Javaと同じく条件分岐を実装するための構文を提供しており、if文when式を使用して簡潔なコードを書くことができます。本記事では、Kotlinで条件分岐を実装する方法について説明します。

if文の使い方

 Kotlinでは、if文を使用して条件分岐を実装することができます。if文の構文は以下のとおりです。

if (条件式) {
  // 条件式がtrueの場合に実行する処理
} else {
  // 条件式がfalseの場合に実行する処理
}

 

 以下は、if文を使用して変数numが0より大きい場合に”positive”、0の場合に”zero”、0より小さい場合に”negative”という文字列を返す関数の例です。

fun checkNumber(num: Int): String {
  return if (num > 0) {
    "positive"
  } else if (num == 0) {
    "zero"
  } else {
    "negative"
  }
}

 

when式の使い方

 Kotlinでは、when式を使用して複数の条件分岐を実装することができます。when式の構文は以下のとおりです。

when (式) {
  条件1 -> {
    // 条件1にマッチした場合に実行する処理
  }
  条件2 -> {
    // 条件2にマッチした場合に実行する処理
  }
  // ...
  else -> {
    // どの条件にもマッチしなかった場合に実行する処理
  }
}

 

 以下は、when式を使用して引数strが”apple”、”orange”、”banana”のいずれかである場合に、それぞれ対応する価格を返す関数の例です。

fun getPrice(str: String): Int {
  return when (str) {
    "apple" -> 100
    "orange" -> 150
    "banana" -> 80
    else -> 0
  } 

 

ボタンをクリックして文字列を条件分岐によって切り替えるサンプルアプリの作成手順

 ここからは、実際に条件分岐を使用してラベルの表示文字列を切り替えるサンプルアプリを作成してみましょう。

 このアプリは、ボタンをクリックすると表示されるテキストが”Hello”と”World”の2つの文字列の中から切り替わるシンプルなアプリです。

 

プロジェクトの作成

 まずは、Android Studioで新規プロジェクトを作成します。プロジェクト名は適当に「ConditionalBranch」とし、デフォルトの設定で作成します。

 

レイアウトの作成

 activity_main.xmlを開いて、以下のようなレイアウトを作成します。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:gravity="center"
  tools:context=".MainActivity">

  <TextView
    android:id="@+id/text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello"
    android:textSize="30sp"
    android:textStyle="bold"
    android:layout_marginBottom="24dp"/>

  <Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click me"
    android:textSize="20sp"/>
</LinearLayout>

 

アクティビティの実装

 MainActivity.ktを開いて、以下のように実装します。

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView

class MainActivity : AppCompatActivity() {
private lateinit var textView: TextView // テキストビューの変数
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        textView = findViewById(R.id.text_view) // レイアウトからテキストビューを取得

        val button = findViewById
        button.setOnClickListener {
            val text = textView.text.toString() // テキストビューの文字列を取得
            if (text == "Hello") { // もし文字列が"Hello"なら
                textView.text = "World" // テキストビューの文字列を"world"に変更
            } else if (text == "World") { // もし文字列が"World"なら
                textView.text = "Hello" // テキストビューの文字列を"Hello"に変更
            }
        }
    }
}

 

このコードでは、各Viewを変数に代入しています。それぞれのボタンに対してsetOnClickListenerメソッドを呼び出しています。ボタンが押されたときに実行される処理として、ラベルの表示文字列を変更する処理を実装しています。

 

実行

 これで、アプリを実行してみましょう。ボタンを押すと、ラベルの表示文字列によって条件分岐され表示文字列を切り替えられることが確認できるはずです。

 

サンプルアプリ画像

 

 

まとめ

今回は、KotlinAndroidアプリを開発する際の条件分岐の実装方法について解説しました。具体的には、ボタンによってラベルの表示文字列を切り替えるサンプルアプリを作成しました。

条件分岐はプログラミングにおいて非常に重要な概念であり、Kotlinではif文when文を用いて実装することができます。

今回のサンプルアプリでは、ラベルの表示文字列を変更するだけでしたが、実際のアプリではボタンの状態やユーザーの操作に応じて、画面遷移やデータの操作など様々な処理を行うことができます。是非、これらの知識を応用して自分だけのアプリを作成してみてください。

コメント

タイトルとURLをコピーしました