Java Android-如何使用Android 4.0下载XML文件?
我将使用Android 4.0下载XML文件我的旧代码在Android 2.3.3中工作,如下所示:Java Android-如何使用Android 4.0下载XML文件?,java,android,xml,download,Java,Android,Xml,Download,我将使用Android 4.0下载XML文件我的旧代码在Android 2.3.3中工作,如下所示: public String getXmlFromUrl(String url) { String xml = null; try { // defaultHttpClient DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = ne
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的示例。来自Gingerbread(2.3)及以上版本,检索HTTP数据的首选方法是HttpUrlConnection。你可能想看看细节。您可能还需要检查
你的问题可能是这里的“严格模式”
您必须使用线程或异步任务执行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
}
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)