Android: ฉันจะพิมพ์ตัวแปรบน eclipse console ได้อย่างไร


คำตอบ:


117

System.out.printlnและLog.dทั้งสองไปที่ LogCat ไม่ใช่คอนโซล


1
การใช้ LibGDX และ System.out.println ไปที่คอนโซล กำลังหาวิธีนำมันเข้าสู่ logcat เพื่อที่ฉันจะได้ล็อก / ดีบักแอพของฉันบนอุปกรณ์จริง
Madmenyo


6

ฉันยังใหม่กับการพัฒนา Android และฉันทำสิ่งนี้:

1) สร้างชั้นเรียน:

นำเข้า android.util.Log;

สาธารณะขั้นสุดท้าย Debug {
    แก้ไขข้อบกพร่องส่วนตัว () {}

    โมฆะคงที่สาธารณะออก (วัตถุ msg) {
        Log.i ("ข้อมูล", msg.toString ());
    }
}

เมื่อคุณจบโครงการให้ลบชั้นเรียน

2) ในการพิมพ์ข้อความไปยัง LogCat ให้เขียน:

Debug.out ("something");

3) สร้างตัวกรองใน LogCat และเขียน "ข้อมูล" ในอินพุต "โดย Log Tag" ข้อความทั้งหมดของคุณจะถูกเขียนที่นี่ :)

เคล็ดลับ: สร้างตัวกรองอื่นเพื่อกรองข้อผิดพลาดทั้งหมดเพื่อแก้ไขข้อบกพร่องได้อย่างง่ายดาย


8
ไม่ควรเขียนโค้ดแบบนี้เนื่องจากคลาส Log นั้นคุ้นเคยกับนักพัฒนา Android ทุกคน การรวมไว้ในชั้นเรียนของคุณเองและไม่เพิ่มฟังก์ชันการทำงานใหม่สิ่งที่คุณทำก็เพียงแค่ปิดบังความหมายของรหัสของคุณกับคนอื่นที่ไม่ใช่ตัวคุณเอง
Thomas Dignan

6

การเขียนโค้ด followin เพื่อพิมพ์อะไรก็ได้บน LogCat ทำงานได้ดีเยี่ยม !!

int score=0;
score++;
System.out.println(score);

พิมพ์คะแนนบน LogCat ลองสิ่งนี้


3

ฉันคิดว่าขนมปังปิ้งอาจเป็นวิธีที่ดีในการแสดงค่าของตัวแปร!


1
ปัญหามาพร้อมกับ Toast เมื่อมีค่ามากและรวดเร็วเช่นขวานพิกัด y กำลังบันทึกบน ACTION_MOVE ในกรณีเช่นนี้ข้อความบนหน้าจอหรือเอาต์พุตบันทึกอาจเป็นทางออกที่ดีกว่า
TechNyquist

1

โอเค Toast ไม่ซับซ้อน แต่ต้องใช้บริบทในการทำงานอาจเป็นได้MyActivity.thisจากนั้นคุณสามารถเขียน:

Toast.maketext(MyActivity.this, "Toast text to show", Toast.LENGTH_SHORT).show();

แม้ว่า Toast จะเป็นทรัพยากร UI แต่การใช้ในเธรดอื่นที่แตกต่างจากเธรด ui จะส่งข้อผิดพลาดหรือไม่ทำงานหากคุณต้องการพิมพ์ตัวแปรให้ใส่ตัวแปรname.toString()และเชื่อมต่อกับข้อความที่คุณต้องการในพารามิเตอร์ maketext String )


0

ขนมปังปิ้งเป็นความคิดที่ไม่ดีมัน "ซับซ้อน" เกินไปที่จะพิมพ์ค่าของตัวแปร ใช้ log หรือ sop และตามที่ได้กล่าวไปแล้วผลลัพธ์ของพวกเขาจะไปที่ logcat มันสมเหตุสมผลก็ต่อเมื่อคุณต้องการเปิดเผยข้อมูลนี้ให้กับผู้ใช้ปลายทาง ...


0

หากโค้ดที่คุณกำลังทดสอบนั้นค่อนข้างง่ายคุณก็สามารถสร้างโปรเจ็กต์ Java ปกติใน Package Explorer และคัดลอกโค้ดจากนั้นเรียกใช้และแก้ไขที่นั่นจากนั้นคัดลอกกลับไปที่โปรเจ็กต์ Android ของคุณ

ความจริงที่ว่า System.out ถูกเปลี่ยนเส้นทางนั้นค่อนข้างน่ารำคาญสำหรับการทดสอบวิธีง่ายๆอย่างรวดเร็ว แต่นั่นเป็นวิธีแก้ปัญหาที่ง่ายที่สุดที่ฉันพบแทนที่จะต้องเรียกใช้โปรแกรมจำลองอุปกรณ์เพื่อดูว่านิพจน์ทั่วไปใช้งานได้หรือไม่


0

อย่างไรก็ตามในกรณีที่คุณไม่ทราบตำแหน่งที่แน่นอนของ JSONObject ใน JSONArray ของคุณฉันขอแนะนำให้ใช้รหัสต่อไปนี้: (ฉันคิดว่า "jsonArray" เป็นตัวแปรหลักของคุณพร้อมข้อมูลทั้งหมดและฉันกำลังค้นหา วัตถุภายในอาร์เรย์ที่มีฟังก์ชันเท่ากับ)

    JSONArray list = new JSONArray(); 
    if (jsonArray != null){
        int len = jsonArray.length();
        for (int i=0;i<len;i++)
        { 
            boolean flag;
            try {
                flag = jsonArray.get(i).toString().equals(obj.toString());
                //Excluding the item at position
                if (!flag) 
                {
                    list.put(jsonArray.get(i));
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }  
        } 
    }
    jsonArray = list;
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.