Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

วิธีพิมพ์ Integer Array ใน Android Logcat

การแสดง Integer Array ใน Logcat เพื่อ Debug

ตัวอย่างสาธิตวิธีแปลง int[] ให้อ่านง่ายใน Logcat โดยใช้ Arrays.toString() พร้อมแสดงใน ListView ด้วย

ขั้นตอนที่ 1: สร้างโปรเจกต์ใหม่

Android Studio → File → New Project

ขั้นตอนที่ 2: Layout 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>

ขั้นตอนที่ 3: โค้ด 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.ListView;
import java.util.ArrayList;
import java.util.Arrays;

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);

        // แปลง int[] เป็น ArrayList<String> สำหรับ ListView
        ArrayList<String> arrayList = new ArrayList<String>();
        for (int value : array) {
            arrayList.add(String.valueOf(value));
        }

        // === จุดสำคัญ: พิมพ์ Array ใน Logcat ===
        // Arrays.toString() แปลง int[] เป็น String แบบ [2, 5, 6, 8, 0, 7, 9, 4]
        Log.d("ArrayDebug", "Integer Array: " + Arrays.toString(array));

        // สำหรับ Object array ใช้ Arrays.deepToString()
        // Log.d("ArrayDebug", "2D Array: " + Arrays.deepToString(twoDArray));

        ArrayAdapter adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, arrayList);
        list.setAdapter(adapter);
    }
}

การทดสอบและดู Logcat

  1. รันแอปบนอุปกรณ์/Emulator
  2. เปิด Logcat ใน Android Studio (แท็บด้านล่าง)
  3. กรอง Tag: ArrayDebug หรือระดับ Debug
  4. จะเห็นข้อความ: D/ArrayDebug: Integer Array: [2, 5, 6, 8, 0, 7, 9, 4]

วิธีพิมพ์ Integer Array ใน Android Logcat

วิธี Log แบบต่างๆ สำหรับ Array

ข้อมูลเมธอดตัวอย่าง Output
int[], String[] (1D)Arrays.toString(arr)[2, 5, 6, 8]
int[][], String[][] (2D+)Arrays.deepToString(arr)[[1,2], [3,4]]
List, Set, Collectioncollection.toString()[A, B, C]
Custom Object ArrayArrays.toString() + toString() ใน Class[Obj@1, Obj@2]

Best Practices สำหรับ Logging

  • ใช้ Tag คงที่: private static final String TAG = "MyApp";
  • ระดับ Log: Log.d (Debug), Log.i (Info), Log.e (Error)
  • BuildConfig.DEBUG: ปิด Log ใน Release build
  • หลีกเลี่ยง Log ข้อมูลสำคัญ (Password, Token, PII)

โค้ด Logging แบบ Production-ready

private static final String TAG = MainActivity.class.getSimpleName();

if (BuildConfig.DEBUG) {
    Log.d(TAG, "Array: " + Arrays.toString(array));
    Log.d(TAG, "Array size: " + array.length);
}