마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

httpurlconnection..질문입니다..

0 추천
public void getitemxml(){
  
  try{
   URL url = new URL("http://www.wizcompany.com/gbid/app/itemxml/itemsinfo.xml");
   HttpURLConnection httpcon = (HttpURLConnection)url.openConnection();
   
   if(httpcon != null){
    httpcon.setDoInput(true);
    httpcon.setDoOutput(true);
    httpcon.setConnectTimeout(1000);
    if(httpcon.getResponseCode() == HttpURLConnection.HTTP_OK){
     int i;
     InputStream in = httpcon.getInputStream();
     StringBuffer sb = new StringBuffer();
     byte[] b = new byte[4096];
     while( (i = in.read(b) ) != -1){
      sb.append(new String(b,0,i));
     }
     String str = sb.toString();
     Log.d("--", str);
    }
   }
  }catch (Exception e) {
   // TODO: handle exception
  }
 }

 

퍼미션

<uses-permission android:name="android.permission.INTERNET"/>

줫구요.. 이거 도데체.. 왜안되는걸까요 ㅠㅠ String변환이 안되는거면.. 어떻게 해보겟는데;

3일째 삽질중입니다;;;;

if(httpcon.getResponseCode() == HttpURLConnection.HTTP_OK){

이안으로 안드러오네요;; log로 찍어보구싶은데 찍히지두 않구요;;;;

고수님들 도움부탁드립니다 ㅠㅠ

mamongs (4,050 포인트) 님이 2013년 3월 25일 질문

3개의 답변

0 추천
일단 responseCode 값이 뭐가 나오는지 찍어보시구요.

catch 쪽에서도 e.printStackTrace(); 로 로그 찍어보세요.

 

어떤 부분에서 문제인지 파악하는게 먼저입니다.

 

혹시 네트워크 부분을 스레드로 따로 돌리지 않고 그냥 사용하셨나요?
원조안드로이드 (58,190 포인트) 님이 2013년 3월 25일 답변
쓰레드 처리 안햇는데..
쓰레드 처리해줘야 되는건가요??
밑에 분들도 댓글로 달았듯이 네트워크 작업 또는 시간이 오래 걸리는 작업은 스레드로 처리하지 않으면 Exception이 발생합니다.
0 추천
쓰레드에서 작업하신거 맞나요?

3.0버전이상부터는 네트워크작업이나 파일시스템사용들의

시간이 오래걸리는 작업들을 메인쓰레드에서 하게되면 예외가 발생합니다.

 

질문을 하실때 Logcat의 에러정보를 포함하시면 더욱 정확한 문제해결이 가능합니다.
얼룩돼지 (15,720 포인트) 님이 2013년 3월 25일 답변
0 추천
왠지 쓰레드로 돌리시지 않으신거 같네요.

메인쓰레드에서 통신처리 하신듯..
갸아악 (21,260 포인트) 님이 2013년 3월 25일 답변
...