2011-03-03 2 views
3

안드로이드는 현재 (현재) 가장 잘 이해할 수 있도록 메시지를 보낼 콘솔이 없기 때문에 System.out.println 메시지가 손실됩니다. 대신 Log.x (LogCat에 출력)를 사용해야합니다.Pro Android 2 : Android의 system.out.println은 무엇인가요?

그러나 환호 프로 안드로이드이 책에서, listing 8-1 그냥 수행합니다

in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 

    StringBuffer sb = new StringBuffer(""); 
    String line = ""; 
    String NL = System.getProperty("line.separator"); 
    while ((line = in.readLine()) != null) { 
     sb.append(line + NL); 
    } 
    in.close(); 

    String page = sb.toString(); 
    System.out.println(page); 

에서 System.out.println 정말 안드로이드에서 작동합니까 아니면 단지 오타인가?

전자는 (예 : 은 입력하지 않고) 실제 수행 할 작업과 출력을 어디에서 찾을 수 있습니까? android docs에서

답변

1

:

기본적으로는 안드로이드 시스템은/dev/null로 표준 출력 및 표준 오류 (System.out에와 System.err에) 출력을 보냅니다.

또한 System.out 및 System.err을 올바르게 사용하는 방법에 대해서도 설명합니다.

+0

실제로 작동합니다 (기본적으로 설정을 수정하지 않아도 됨). 아래 내 대답을 참조하십시오. –

3

System.out.println은 현재 "표준"출력 PrintStream으로 정의 된 내용으로 인쇄합니다. 이것을 로그 스트림을 가리 키도록 연결하는 것이 가능하지만 실제로 사용할 이유가 없습니다. Log.x를 사용하십시오.

이것은 아마도 책의 오타 일뿐입니다. 해당 코드 스 니펫의 아무 것도 Android와 관련이 없습니다.

+1

그래, 안드로이드에서 작동하도록하는 최소한의 조정으로 "일반적인 자바 책에서 복사 된 코드"에 투표 할 것입니다. – EboMike

+0

@EboMike 위의 책 *은 Android 책입니다. :) @Mayra 감사합니다. –

+3

@Android : 네, 그렇습니다.하지만 작성자가 아마 다른 곳에서이 코드를 가져 와서 Android 용으로 조정했을 것입니다. 우리는 16 년 동안 자바 코드 조각이 세계 곳곳을 돌아 다니며 사용할 수있는 무언가가 있다고 확신합니다. 그 또는 다른 것들은 자바 전문가이지만 안드로이드는 비교적 새로운 것이다. – EboMike

2

그 System.out.println 코드가 작동합니다 (안드로이드 설명서에 나오는 내용에도 불구하고). 나는 내 안드로이드 개발 설정에서 (문서에서 설명하는대로 설정을 변경하지 않고) 시도했다. 필자는 안드로이드 프로그래밍을 배우는 학생들의 Windows 및 Mac에서의 설정을 시도했습니다. 그리고 항상 같은 방식으로 나타납니다 :

다음 라인은 logcat에 기본적으로 출력됩니다.

System.out.println ("blah blah");

당연히 Log.x()를 사용하는 것이 좋습니다. 특히 책에서 문서화되지 않은 기능에 의존하는 것은 결코 좋은 생각이 아닙니다. 이 기능은 오늘 여기에있을 수 있으며 다음에 도구를 업데이트 할 때 사라질 것입니다.

+0

위의 참조 문서가 잘못되었습니다. 문서 오류를 발견하는 것은 드문 일이 아니며 기본 동작이 변경되었다는 버그 보고서 (http : // code)를 확인하십시오. google.com/p/android/issues/detail?id=92 –

0

Eclipse를 사용하는 경우 Console이 아닌 LogCat 탭에 System.out이 표시됩니다. Log.i ("MyLog", "The message here ....")를 시도해 볼 수도 있습니다. LogCat에도 표시됩니다.

즐기십시오!

관련 문제