2012-07-12 2 views
1
나는 자바와 (안 프로그래밍) 안드로이드에 새로운 오전 나는 코드의 다음 조각, 기본적으로 예 복사 - 붙여 넣은

: 라인에안드로이드 응용 프로그램 HttpURLConnection의 연결()에 충돌하여

 URL vurl = new URL(voteurl); //vuteurl is a string containing a proper URL 
     HttpURLConnection hc; 
     hc=null; 
     hc = (HttpURLConnection)vurl.openConnection(); 
     hc.setRequestMethod("GET"); 
     hc.setDoOutput(true); 
     hc.setReadTimeout(10000); 
     hc.connect(); 

"hc.connect();" 응용 프로그램이 충돌하고 Android가 중지되었음을 알립니다. 앱에서 사용하는 퍼미션에 android.permission.INTERNET을 추가해도 도움이되지 않았습니다.

+2

충돌의 스택 추적을 추가 할 수 있습니까? – Talon876

+0

표시된 코드는 try/catch 블록으로 둘러싸여 있습니까? – Talon876

+0

거기에 예외에 대한 자세한 정보가 있어야 logcat 출력을보십시오 –

답변

0

좋아요, 안드로이드는 메인 스레드의 네트워크 작업을 좋아하지 않습니다. 별도의 스레드에서 요청을하는 것이 트릭입니다. 도와 줘서 고마워!

0
URL vurl = null; 
    try { 
     vurl = new URL(voteurl); 
    } catch (MalformedURLException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } //vuteurl is a string containing a proper URL 
    HttpURLConnection hc; 
    hc=null; 
    try { 
     hc = (HttpURLConnection)vurl.openConnection(); 
    } catch (IOException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
    try { 
     hc.setRequestMethod("GET"); 
    } catch (ProtocolException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    hc.setDoOutput(true); 
    hc.setReadTimeout(10000); 
    try { 
     hc.connect(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
관련 문제