通过HTTP获取网络上数据的方法非常多,我就给大家介绍我所知道的两种方法吧,两种方法各有不同!
首先,确保你的Android应用程序具有访问网络的权限。
<uses-permission android:name="android.permission.INTERNET"/>
1,先介绍第一种方法
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet("http://www.baidu.com");
String str = "";
try {
HttpResponse res = client.execute(get);
if (res.getStatusLine().getStatusCode() == 200) {
str = EntityUtils.toString(res.getEntity());
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (null != str) {
// TODO
}
这种方法用于取得 网页或者服务器上的源码,从服务器上取回的一般是一大堆xml文件,我们可以通过取回的str为xml或者json来解析数据
2.第二种方法
InputStream is = null;
try {
URL url = new URL(
"http://images.csdn.net/20121018/zazhi-68-78-1018.jpg");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.connect();
is = con.getInputStream();
} catch (IOException e1) {
e1.printStackTrace();
}
Bitmap bitmap = BitmapFactory.decodeStream(is);
if (null != bitmap) {
mImage.setImageBitmap(bitmap);
}
if (null != is) {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这种方法可以根据具体的某张图片的地址或者文件的地址解析,来得到流,进一步来解析这种流来得到文件。