Android之Http请求基础

一、使用HttpGet方式进行请求


private Button myButton = null;

	private HttpResponse httpResponse = null;
	private HttpEntity httpEntity = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		myButton = (Button) findViewById(R.id.myButton);
		myButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				new Thread(new Runnable() {

					@Override
					public void run() {
						// TODO Auto-generated method stub
						//生成一个请求对象
						//参数:请求的地址
						HttpGet httpGet = new HttpGet("http://172.16.3.102:8080/Ibeacon/NewFile.jsp");
						//生成一个http客户端对象
						HttpClient httpClient = new DefaultHttpClient();
						
						InputStream inputStream = null;
						try {
							try {
								//获取请求的响应
								httpResponse = httpClient.execute(httpGet);
								//从响应当中获取数据流
								httpEntity = httpResponse.getEntity();
								inputStream = httpEntity.getContent();
								
								BufferedReader bufferedreader = new BufferedReader(
										new InputStreamReader(inputStream));
								//保存获取到的数据
								String result = "";
								String line = "";
								while ((line = bufferedreader.readLine()) != null) {
									result += line;
								}
								System.out.println(result);
							} catch (IOException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
						} catch (Exception e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
					}
				}).start();
			}
		});
	}

二、使用HttpPost方式进行请求

private Button myButton = null;
	//声明请求的链接
	private String myURL = "http://172.16.3.102:8080/Ibeacon/Receive";
	HttpResponse httpResponse = null;
	HttpEntity httpEntity = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		myButton = (Button) findViewById(R.id.myButton);
		myButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub

				new Thread(new Runnable() {

					@Override
					public void run() {
						// TODO Auto-generated method stub
						//键值对
						//用来设置请求的参数
						NameValuePair nameValuePair1 = new BasicNameValuePair(
								"uuid", "300001");
						NameValuePair nameValuePair2 = new BasicNameValuePair(
								"classify", "200001");
						List<NameValuePair> lists = new ArrayList<NameValuePair>();
						lists.add(nameValuePair1);
						lists.add(nameValuePair2);

						try {
							//HttpEntity既可以是请求体也可以是响应体
							//设置请求的参数
							HttpEntity requesthttpEntity = new UrlEncodedFormEntity(
									lists);
							//生成一个请求Post请求对象
							HttpPost httppost = new HttpPost(myURL);
							//设置请求体
							httppost.setEntity(requesthttpEntity);
							//生成一个http客户端对象
							HttpClient httpclient = new DefaultHttpClient();
							
							InputStream inputStream = null;
							BufferedReader reader = null;
							try {
								//获取请求响应
								httpResponse = httpclient.execute(httppost);
								//获取数据
								httpEntity = httpResponse.getEntity();
								inputStream = httpEntity.getContent();
								reader = new BufferedReader(
										new InputStreamReader(inputStream));
								//保存数据
								String result = "";
								String line = "";
								while ((line = reader.readLine()) != null) {
									result += line;
								}
								
								
								// System.out.println(result);

							} catch (Exception e) {
								// TODO: handle exception
								e.printStackTrace();
							} finally {
								try {
									inputStream.close();
									reader.close();
								} catch (Exception e2) {
									// TODO: handle exception
								}
							}
						} catch (UnsupportedEncodingException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
					}
				}).start();
			}
		});
	}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值