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

【Android】StringWriterのappendメソッドで文字列を連結する方法を解説

この記事では、Androidアプリ開発においてStringWriterクラスのappendメソッドを使用して文字列を追加・連結する方法を、サンプルコード付きでわかりやすく解説します。StringWriterは文字列を内部バッファに蓄積できる便利なクラスで、複数の文字列を動的に組み立てたい場合に役立ちます。

手順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:tools="https://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical"
   android:gravity="center_horizontal"
   android:layout_marginTop="30dp"
   tools:context=".MainActivity">
   <EditText
      android:id="@+id/edit_query"
      android:layout_width="match_parent"
      android:layout_height="wrap_content" />
   <Button
      android:id="@+id/buttonPanel"
      android:text="Check"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" />
   <TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

上記のコードでは、EditText(テキスト入力欄)Button(ボタン)TextView(テキスト表示領域)の3つのUI要素を配置しています。ユーザーがEditTextに値を入力してボタンをクリックすると、StringWriterを使ってデータが連結され、その結果がTextViewに表示される仕組みです。

手順3:MainActivity.javaを実装する

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

package com.example.myapplication;

import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import java.io.StringWriter;

public class MainActivity extends AppCompatActivity {
   TextView text;
   EditText edit_query;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      edit_query = findViewById(R.id.edit_query);
      text = findViewById(R.id.text);
      findViewById(R.id.buttonPanel).setOnClickListener(new View.OnClickListener() {
         @RequiresApi(api = Build.VERSION_CODES.KITKAT)
         @Override
         public void onClick(View v) {
            if (!edit_query.getText().toString().isEmpty()) {
               StringWriter sw = new StringWriter();
               sw.append("String Writer : ");
               sw.append(edit_query.getText().toString());
               text.setText(sw.toString());
            }
         }
      });
   }
}

このコードでは、ボタンがクリックされたタイミングでEditTextの入力内容をチェックし、空でなければStringWriterインスタンスを生成しています。append()メソッドで「String Writer : 」というラベルと入力された文字列を順に追加し、最後にtoString()で文字列化してTextViewへ反映しています。

アプリを実行して結果を確認しよう

それでは、実際にアプリケーションを実行してみましょう。ここでは実機のAndroidスマートフォンをパソコンに接続しているものとして説明を進めます。Android Studioからアプリを起動するには、プロジェクト内のアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックしてください。デバイス選択画面でお使いのモバイル端末を選択すると、端末に以下のような初期画面が表示されます。

【Android】StringWriterのappendメソッドで文字列を連結する方法を解説

上記の実行結果のように、StringWriterクラスを利用することで、入力した文字列にラベルを付けて簡単に連結・表示できていることが確認できます。StringBuilderと同様の手軽さで使えるため、文字列の動的な組み立てが必要な場面でぜひ活用してみてください。

  1. Androidで画像をBase64文字列に変換する方法をステップごとに解説

    はじめに この記事では、Androidアプリで画像をBase64文字列に変換する方法を、実際のサンプルコードとともにステップ形式で解説します。 Base64とは、バイナリデータ(画像など)をテキスト形式の文字列として扱えるようにするエンコード方式です。画像データをWeb API経由で送受信したり、JSONに含めて保存したりする際によく利用されます。 実装手順 ステップ1:新規プロジェクトを作成する Android Studioを起動し、「File」→「New Project」を選択して新しいプロジェクトを作成します。必要な項目をすべて入力してプロジェクトをセットアップしましょう。 ステップ2:

  2. 【Android】JavaMail APIを使用してメールを送信する方法を解説

    はじめに この記事では、JavaMail APIを使用してAndroidアプリからメールを送信する方法を、ステップごとに詳しく解説します。画面に入力した宛先・件名・本文をもとに、GmailのSMTPサーバー経由でメールを送信するシンプルなサンプルアプリを作成していきます。 手順1:新規プロジェクトの作成 Android Studioを起動し、「File」→「New Project」を選択して、必要事項を入力して新しいプロジェクトを作成します。 手順2:レイアウトファイル(activity_main.xml)の作成 res/layout/activity_main.xmlに以下のコードを記述しま