Android
 Computer >> コンピューター >  >> プログラミング >> Android

【Android】EditTextの入力値が母音か子音かを判定する方法

はじめに

このチュートリアルでは、AndroidアプリでEditText(テキスト入力欄)に入力された文字列が、母音で始まるのか、それとも子音で始まるのかを判定する方法を解説します。入力値の先頭1文字を取り出し、「a・e・i・o・u」のいずれかに該当するかどうかをチェックするシンプルなロジックを実装していきます。

手順1:新規プロジェクトの作成

まず、Android Studioを起動し、メニューから [File] → [New Project] を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成してください。

手順2:レイアウトファイル(activity_main.xml)の編集

次に、res/layout/activity_main.xml に以下のコードを追加します。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <EditText
        android:id="@+id/edit_query"
        android:layout_width="match_parent"
        android:hint="Enter something"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/buttonPanel"
        android:text="Click"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

上記のレイアウトでは、ユーザーが文字列を入力するための EditText と、判定処理を実行するための Button を垂直方向に配置しています。ボタンをタップすると、入力された文字列の先頭が母音かどうかを検証できる仕組みです。

手順3:MainActivity.java の実装

続いて、java/MainActivity.java に以下のコードを追加します。

package com.example.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText edit_query = findViewById(R.id.edit_query);
        findViewById(R.id.buttonPanel).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String data = edit_query.getText().toString();
                if (!data.isEmpty()) {
                    data = data.substring(0, 1);
                    if (data.equals("a") || data.equals("e") || data.equals("i") || data.equals("o") || data.equals("u"))
                        Toast.makeText(MainActivity.this, data + " is vowel", Toast.LENGTH_LONG).show();
                    else
                        Toast.makeText(MainActivity.this, data + " is consonant", Toast.LENGTH_LONG).show();
                }
            }
        });
    }
}

コードのポイント

このコードの処理の流れは以下のとおりです。

1. getText() でEditTextの入力内容を取得し、toString() で文字列に変換します。
2. isEmpty() による空文字チェックを行い、何も入力されていない場合は処理をスキップします。
3. substring(0, 1) で先頭の1文字だけを取り出します。
4. if文でその文字が「a」「e」「i」「o」「u」のいずれかと一致するかを判定し、一致すれば「母音(vowel)」、一致しなければ「子音(consonant)」としてToastで結果を表示します。

アプリの実行と動作確認

それでは、アプリを実行してみましょう。ここでは、実際のAndroid端末がパソコンに接続されているものとして説明します。Android Studioでプロジェクト内の任意のアクティビティファイルを開き、ツールバーにある実行(Run)アイコンをクリックしてください。表示される候補からお使いのモバイルデバイスを選択すると、端末の画面に以下のような結果が表示されます。

【Android】EditTextの入力値が母音か子音かを判定する方法

  1. Androidで通知からサービスを開始するには?基本の手順とサンプルコードを解説

    この記事では、Androidアプリで通知からサービス(Service)を開始する方法を、サンプルコードとともにわかりやすく解説します。AlarmManagerとPendingIntentを組み合わせることで、毎日決まった時刻にサービスを自動起動し、通知を表示する仕組みを実装できます。 実装の全体像 今回作成するアプリは、ボタンをタップすると翌日の午前0時にサービスが起動されるようスケジュールされ、サービス側で通知チャンネルを作成して通知を表示します。手順は以下の5ステップです。 Android Studioで新規プロジェクトを作成する activity_main.xmlにボタンを配置する M

  2. AndroidスマホでAirTagを検出する方法|紛失タグの見つけ方を徹底解説

    Appleの「AirTag」は、鍵や財布、バッグなど、あらゆる持ち物の位置を追跡できる便利なアイテムとして近年急速に普及しています。しかし、その利便性の裏側では、知らないうちに自分の所持品へ取り付けられ、居場所を監視される「ストーカー行為」への懸念も高まっています。特にAndroidユーザーにとっては、iPhoneと比べて検知の仕組みが異なるため、注意が必要です。iPhoneやiPadをお使いの方なら、他人のAirTagが自分と一緒に移動している場合、デバイスに自動的にアラートが表示されます。ところがAndroidユーザーの場合、同じようにはいかず、いくつかの手順を踏まなければ、自分の持ち物に