2010-01-27 3 views
1

건초 가이, org.apache.commons.net.nntp를 사용하여 nntp 서버에 연결했지만 간단한 nntp.connect (host, port)를 실행하면 충돌이 발생합니다. 안드로이드.org.apache.commons.net.nntp 크래킹 안드로이드

누구나 아이디어가 있습니까? Java 패키지는 안드로이드와 함께 곧바로 작동합니까? 또는 편집해야합니까?

감사

import org.apache.commons.net.nntp.*; 

public class newsdroid extends Activity { 
    NNTP usenet; /** Called when the activity is first created. */ 

    @Override public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     try { 
      usenet.connect("ssl-eu.astraweb.com", 563); 
     } catch (SocketException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 
+1

'LogCat'을 사용하여 프로그램을 디버깅 해 보셨습니까? LogCat은 충돌이 발생한 위치에 대한 매우 자세한 설명을 제공합니다. 그리고 LogCat을 사용한다면 stacktrace는 무엇입니까? –

+0

"com.example.use.use.onCreate (use.java:19)에서 java.lang.NullPointerException이 발생했습니다. – dotty

+0

'onCreate' 메서드를 게시 할 수 있습니까? 호출 할 때 무언가를 초기화하지 않은 것처럼 보입니다. 'nntp.connect (호스트, 포트);' –

답변

2

당신은 단지 선언 NTTP usenet의 전화 변수를 사용하여, 당신의 변수 usenet를 초기화해야합니다. 단지 변수를 NTTP으로 선언하고 아무 것도 언급하지 않으며 일반적으로 null으로 정의되므로 NullPointerException이됩니다.

대신 NTTPClient을 확인해야하므로 NTTPClient 변수 usenet을 초기화 코드

NTTPClient usenet = new NTTPClient(); 

에이를 추가 할 수 있습니다.

2

당신은 '유즈넷'필드를 초기화하지 않은, 그래서 당신은 NullPointerException이 얻을.

"NNTP 유즈넷;" "NNTP usenet = null;"과 같습니다.

+0

어떻게 초기화합니까? 나는 usenet.connect ("ssl-eu.astraweb.com", 563); 그럴 거니? – dotty

+0

다음과 같이 될 것입니다 : NTTP usenet = new NTTP(); 웹에서 읽을 수있는 해당 클래스의 설명서는 NNTPClient를 원하지만 원칙은 동일하다고 제안합니다. Java의 입문서, 특히 변수와 인스턴스의 차이점에 대한 소개서를 읽어야합니다. –