Android : Eclipse 콘솔에서 변수를 어떻게 인쇄 할 수 있습니까?


답변:


117

System.out.println그리고 Log.d모두 로그 캣이 아닌 콘솔로 이동합니다.


1
LibGDX 및 System.out.println을 사용하면 콘솔로 이동합니다. 실제 장치에서 내 앱을 로그 / 디버그 할 수 있도록 logcat에 액세스하는 방법을 찾고 있습니다.
Madmenyo


6

저는 Android 개발이 처음이며 이렇게합니다.

1) 수업 만들기 :

import android.util.Log;

공개 최종 클래스 Debug {
    비공개 디버그 () {}

    public static void out (Object msg) {
        Log.i ( "info", msg.toString ());
    }
}

프로젝트를 마치면 클래스를 삭제하십시오.

2) LogCat 쓰기에 메시지를 인쇄하려면 :

Debug.out ("something");

3) LogCat에 필터를 생성하고 "by Log Tag"입력에 "info"를 씁니다. 모든 메시지가 여기에 기록됩니다. :)

팁 : 쉽게 디버깅 할 수 있도록 모든 오류를 필터링하는 다른 필터를 만듭니다.


8
Log 클래스는 대부분의 Android 개발자에게 친숙하기 때문에 이와 같은 코드를 작성하는 것은 좋지 않습니다. 새로운 기능을 추가하지 않고 자신의 클래스로 래핑하면 코드의 의미를 자신이 아닌 다른 사람에게 모호하게 할 수 있습니다.
Thomas Dignan 2011 년

6

LogCat에서 무엇이든 인쇄하기 위해 다음 코드를 작성하면 완벽하게 작동합니다 !!

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

LogCat에 점수를 인쇄합니다.


3

토스트가 변수의 가치를 보여주는 좋은 방법이라고 생각합니다!


1
ACTION_MOVE에 로그인하는 ax, y 좌표와 같이 값이 많고 빠르면 Toast에서 문제가 발생합니다. 이러한 경우 화면 텍스트 또는 로그 출력이 더 나은 솔루션 일 수 있습니다.
TechNyquist 2013 년

1

Ok, 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 프로젝트를 만들고 코드를 복사하여 실행하고 수정 한 다음 Android 프로젝트에 다시 복사 할 수 있습니다.

System.out이 리디렉션된다는 사실은 간단한 메서드를 빠르게 테스트하기에는 매우 성가신 일이지만 정규 표현식이 작동하는지 확인하기 위해 장치 에뮬레이터를 실행하는 것보다 제가 찾은 가장 쉬운 솔루션입니다.


0

그건 그렇고, JSONArray 내부의 JSONObject 의 정확한 위치모르는 경우 다음 코드를 사용하는 것이 좋습니다. ( "jsonArray"가 모든 데이터가 포함 된 주요 변수라고 가정하고 정확한 equals 함수가있는 배열 내부의 객체)

    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.