2012-11-22 1 views
1

나는 자바 웹 프로그램에서 http 웹 사이트에 연결을 시도하고있다. 이 코드를 사용하려고합니다. 하지만 분명히 코드는 "client.execute()"문을 통과하지 않습니다. 실행 후 return 문에 주석을 달았으며 전달되지 않았습니다. 내가 누락 된 것이 있습니까?안드로이드에서 Http 연결

나는 똑같은 코드를 시도했지만 작동하지 않아 Newboston과 똑같은 코드 형식을 복사했지만 여전히 작동하지 않습니다.

(코드는 Newboston입니다.)

감사합니다.

public class GetMethodEx { 

public String getInternetData() throws Exception{ 
    BufferedReader in=null; 
    String data=null; 

    try{ 
     HttpClient client=new DefaultHttpClient(); 
     URI website=new URI("http://www.mybringback.com"); 
     HttpGet request=new HttpGet(); 
     request.setURI(website); 

     HttpResponse response=client.execute(request); 

    // if(data==null) 
    //  return "bfdvhf"; 

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

     StringBuffer sb=new StringBuffer(""); 
     String l=""; 
     String nl=System.getProperty("line.separator"); 

     while((l=in.readLine())!=null){ 
      sb.append(l + nl); 
      return "hfeuhfuie"; 

     } 
     in.close(); 
     data=sb.toString(); 
     return data; 
    }finally{ 
     if(in!=null) 
     { 
      try{ 
       in.close(); 
       return data; 

      } 
      catch(Exception e){ 
       e.printStackTrace(); 

      } 

     } 
    } 


} 

}

+0

가 어떻게 getInternetData를 호출 할 질문으로 로그 캣 출력을 게시 할()? 활동에서? 그냥 조언 : 모든 HTTP 요청 스레드 외부 UI를 실행해야합니다. AsyncTask를 사용하십시오. – dougcunha

+0

안녕하세요, 예 저는 활동중인 사람에게만 전화하고 있습니다. 하지만 활동에서 전화를 걸더라도 잘 작동해야합니다. 코드를 준비했지만이 한 문장으로 인해 문제가 발생합니다. –

+0

이 줄에 중단 점을 넣고 'in = new BufferedReader (새 InputStreamReader (response.getEntity(). getContent())); 및 catch의 e.printStackTrace에 중단 점을 넣습니다. 코드를 실행하면 어떻게됩니까? – Simon

답변

2

은/앱 충돌합니까 execute()에 예외를 throw? 그렇다면 대부분 NetworkOnMainThreadException 예외를 얻습니다. UI 스레드의 네트워킹과 관련이 있습니다 (즉, Activity 클래스에서 직접 네트워크에 연결하려는 경우). 네트워킹을 분리하고이 코드를 비동기 적으로 실행해야합니다 (일반적으로 IntentService 또는 AsyncTask을 사용).

자세한 내용은 this article을 참조하십시오.

BTW : 다음 시간은 항상

+0

아니요 응용 프로그램이 중단되지 않고 예외가 발생하고 예외가 인쇄됩니다. –

+0

확인. 예외는 무엇입니까? NetworkOnMainThreadException? –

+0

고맙습니다. 나는이 분야의 초보자이다. –