2012-11-04 3 views
0

나는 4.0 나의 오래된 코드는 여기에 안드로이드 2.3.3에서 작동 안드로이드 XML 파일을 다운로드합니다Android - Android 4.0에서 XML 파일을 다운로드하는 방법?

public String getXmlFromUrl(String url) { 
    String xml = null; 

    try { 
     // defaultHttpClient 
     DefaultHttpClient httpClient = new DefaultHttpClient(); 
     HttpPost httpPost = new HttpPost(url); 

     HttpResponse httpResponse = httpClient.execute(httpPost); 
     HttpEntity httpEntity = httpResponse.getEntity(); 
     xml = EntityUtils.toString(httpEntity); 

    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    // return XML 
    return xml; 
} 

나는 DefaultHttpClient없이 예를 musst. T.I.A.

답변

1

문제가 여기 "엄격 모드"일 수 있습니다.

스레드 또는 AsyncTask로 http 요청을 수행해야합니다. 다음

class RequestTask extends AsyncTask<String, String, String>{ 

     @Override 
     protected String doInBackground(String... params) { 
      //http request here 
      //return the response as string 
     } 
     @Override 
     protected void onPostExecute(String result) { 
      //set the the data you get 
     } 

:

new RequestTask().execute(yourHttpRequestString) 
1

진저 브레드 (2.3) 이상에서 HTTP 데이터를 검색하는 기본 방법은 HttpUrlConnection입니다. 자세한 내용은 this blog post을 확인하십시오. 또한 확인하고 싶을 수도 있습니다. Javadoc for HttpUrlConnection

URL url = new URL("http://www.android.com/"); 
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
try { 
    InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
    readStream(in); 
} finally { 
    urlConnection.disconnect(); 
} 
관련 문제