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

AndroidのLogcatにint型配列を出力する方法を解説

Androidのログに整数配列を出力する方法

この記事では、Androidアプリ開発において、int型(整数)の配列をLogcatなどのログに出力する方法をステップごとに解説します。デバッグ時に配列の中身を確認したい場面は多く、Arrays.toString()を使えば簡単に出力できます。

手順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">
    <ListView
        android:id="@+id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </ListView>
</LinearLayout>

このコードでは、整数配列の内容を画面に表示するためのListViewを配置しています。

手順3:MainActivity.java にコードを追加する

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

package com.example.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class MainActivity extends AppCompatActivity {
    ListView list;
    int[] array = {2, 5, 6, 8, 0, 7, 9, 4};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list = findViewById(R.id.list);
        ArrayList<String> arrayList = new ArrayList<String>();
        for(int s:array) {
            arrayList.add(String.valueOf(s));
        }
        Log.d("Array List: ", Arrays.toString(array));
        ArrayAdapter adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1, arrayList);
        list.setAdapter(adapter);
    }
}

ここでのポイントは Log.d("Array List: ", Arrays.toString(array)); の部分です。java.util.Arrays クラスの toString() メソッドを使うと、配列の全要素が「[2, 5, 6, 8, 0, 7, 9, 4]」のような形式の文字列に変換され、そのままログに出力できます。配列を直接 Log.d() に渡しても意味のないハッシュ値が表示されるだけなので、必ず Arrays.toString() を経由するのがポイントです。

また、第1引数の「Array List:」はタグ名です。後ほどLogcatでログを検索・絞り込みするときに役立ちます。用途に応じて Log.i()(情報)や Log.e()(エラー)なども使い分けるとよいでしょう。

補足: 新しいバージョンのAndroid Studioで作成したプロジェクトでは、android.support.v7.app.AppCompatActivity の代わりに androidx.appcompat.app.AppCompatActivity をインポートしてください。

アプリを実行して結果を確認する

それでは、実際にアプリを実行してみましょう。実機のAndroid端末をパソコンに接続しておきます。Android Studioでプロジェクト内のアクティビティファイルを開き、ツールバーのRunアイコンをクリックしてください。表示された選択肢から接続したモバイル端末を選択すると、端末に以下のような画面が表示されます。

AndroidのLogcatにint型配列を出力する方法を解説

上記の実行結果では、ListViewを使って整数配列 {2, 5, 6, 8, 0, 7, 9, 4} の内容を画面に表示しています。次に、Android Studio下部のLogcatウィンドウを開き、タグ名「Array List:」でフィルタリングすると、以下のように配列の内容がログとして出力されていることが確認できます。

[2, 5, 6, 8, 0, 7, 9, 4]

このように、Arrays.toString() を活用すれば、int配列だけでなくString配列やオブジェクト配列の中身も簡単にログへ出力でき、デバッグ作業を効率化できます。

  1. Androidで配列の中央にある要素を取得する方法をわかりやすく解説

    はじめに この記事では、Androidアプリ開発において、配列の中から中央(真ん中)の要素を見つけて表示する方法を、サンプルコード付きで解説します。 考え方はシンプルで、配列の長さを2で割った値が中央要素のインデックスになります。これを利用すれば、数行のコードで中央の値を取得できます。 手順1:新しいプロジェクトを作成する まずはAndroid Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目を入力して、新しいプロジェクトを作成してください。 手順2:レイアウトファイル(activity_main.xml)を編集する 次に、「res/lay

  2. AndroidでJavaのBitmapをバイト配列(byte[])に変換する方法【サンプルコード付き】

    このチュートリアルでは、Androidアプリ開発において、JavaのBitmap(ビットマップ)画像をバイト配列(byte[])へ変換する方法を、ステップごとに詳しく解説します。画像の圧縮・保存やネットワーク送信など、さまざまな場面で役立つ基本テクニックです。ステップ1:新規プロジェクトを作成するまずはAndroid Studioを起動し、メニューから「File」→「New Project」を選択しましょう。必要な項目をすべて入力して、新しいプロジェクトを作成します。ステップ2:レイアウトファイル(activity_main.xml)を編集するres/layout/activity_main.