您的位置:首页 > 理论基础 > 计算机网络

Android 如何通过HTTP获取网络上的数据?

2012-12-14 21:06 603 查看
通过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();
}
}


这种方法可以根据具体的某张图片的地址或者文件的地址解析,来得到流,进一步来解析这种流来得到文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐