Android学习笔记---- HttpClient获取服务器数据

首先要注意的是,Android开发中,我们访问网络,请求资源的时候,根据当时的网络状态的情况,请求的时间会不一样,这样如果在UI主线程里面请求网络的话,就可能会出现UI延迟出现的情况,这是用户不能忍受的,所以我们一般是在子线程里面请求网络的。

HttpClient的使用步骤:

1、生成代表客户端的HttpClient对象

HttpClient httpClient = new DefaultHttpClient();


2、生成代表请求的HttpGet对象

HttpGet httpGet = new HttpGet("你请求的URl地址----例如:www.baidu.com");


3、发送请求,获取服务器返回的HttpResponse对象

HttpResponse rp = httpClient.execute(httpGet);


4、检查响应状态是否正常

int code = rp.getStatusLine().getStatusCode();

如果code的值为200,则为正常的相应,有可能出现404或者505等错误!

5、获取响应对象当中的数据

HttpEntity entity = rp.getEntity();



具体实现代码如下:

	class NetworkThread extends Thread {
		@Override
		public void run() {
			// 创建HttpClient对象
			HttpClient httpClient = new DefaultHttpClient();
			// 穿件代表请求的对象,参数是访问服务器的地址
			HttpGet httpGet = new HttpGet("你请求的URl地址");
			// 执行请求,获取服务器发还的相应对象
			try {
				HttpResponse rp = httpClient.execute(httpGet);
				// 检验相应的状态是否正常,如果值为200则为正常
				int code = rp.getStatusLine().getStatusCode();
				if (code == 200) {
					// 从相应对象中取出数据
					HttpEntity entity = rp.getEntity();
					InputStream in = entity.getContent();
					BufferedReader reader = new BufferedReader(
							new InputStreamReader(in));
					String line = reader.readLine();
					Log.d("HTTP", "取到的数据是:" + line);
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

最后还有一点,安卓app想要访问网络请求资源就必须要赋予它访问网络的权限,可以在AndroidManifest.xml清单文件中配置权限,加上如下代码:

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


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值