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

วิธี 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, Collection | collection.toString() | [A, B, C] |
| Custom Object Array | Arrays.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);
}