Android HttpPost表单访问接口

这是我常用的来进行接口调用的方法,非常的好用,希望能给需要的朋友带来便利。

// 调取接口发送数据
			private void getData(final String url, final String id) {// 获取数据,把线程写入了其中
				new Thread() {
					public void run() {
						Message msg = vipmyHandler.obtainMessage();
						String type = "";
						try {
							urlclient = new UrLClient();
							List<NameValuePair> content = new ArrayList<NameValuePair>();
							content.add(new BasicNameValuePair("suggestcontent", editText.getText().toString()));
							
							type = urlclient.postFormsendCookiesData(url, content, FanKuiActivity.this);
							if(type.equals("success")){
								msg.what=0;
							}else{
								msg.what=1;
							}

						} catch (Exception e) {
							e.printStackTrace();
							Toast.makeText(FanKuiActivity.this, "参数传递错误",
									Toast.LENGTH_SHORT).show();
							System.out.println("*************************" + "参数传递错误"
									+ "**********************************");
						}
						vipmyHandler.sendMessage(msg);
					}
				}.start();
			}
			
			
			

			@Override
			public void onDestroy() {
				// TODO Auto-generated method stub
				vipmyHandler.removeCallbacksAndMessages(null);
				super.onDestroy();

			}

			Handler vipmyHandler = new Handler() {
				
				@SuppressLint("HandlerLeak")
				public void handleMessage(Message msg) {
					switch (msg.what) {
					case 0:
						String httpstr = urlclient.getInput();
						if (httpstr == null || httpstr.equals("")) {
							return;
						}
						error_PopupWindows = new error_PopupWindows(FanKuiActivity.this, titlebar, "反馈成功,谢谢您的意见!");
						break;
						
					case 1:
						error_PopupWindows = new error_PopupWindows(FanKuiActivity.this, titlebar, "提交失败");
						break;
					}
					super.handleMessage(msg);
				}
			};


// post登录连接
 public String postFormsendCookiesData(String url,
   List<NameValuePair> params, Context urlcontext) {
  String isConnect = "";
  // 第一步,创建HttpPost对象
  HttpPost httpPost = new HttpPost(UrlVO.Host_Url + url);
  HttpResponse httpResponse = null;
  try {
   // 设置httpPost请求参数
   httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
   DefaultHttpClient httpclient = new DefaultHttpClient();
   if (!UrlVO.getShareData("JSESSIONID", urlcontext).equals("")) {
    httpPost.setHeader("Cookie",
      UrlVO.getShareData("JSESSIONID", urlcontext));
   }
   // 请求超时
   httpclient.getParams().setParameter(
     CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
   // 读取超时
   httpclient.getParams().setParameter(
     CoreConnectionPNames.SO_TIMEOUT, 20000);
   httpResponse = httpclient.execute(httpPost);
   System.out.println(httpResponse.getStatusLine().getStatusCode());
   if (httpResponse.getStatusLine().getStatusCode() == 200) {
    // 第三步,使用getEntity方法活得返回结果
    String result = EntityUtils.toString(httpResponse.getEntity());
    setInput(result);
    System.out.println("result:" + result);
    isConnect = "success";
   } else {
    setWrongcode(String.valueOf(httpResponse.getStatusLine()
      .getStatusCode()), urlcontext);
   }
  } catch (ClientProtocolException e) {
   e.printStackTrace();
   Toast.makeText(urlcontext, "读取超时或连接错误", Toast.LENGTH_SHORT).show();
  } catch (IOException e) {
   e.printStackTrace();
   Toast.makeText(urlcontext, "网络连接失败", Toast.LENGTH_SHORT).show();
  }
  return isConnect;
 }
主要的功能我都已经放在这里了,只要进行简单的调用就可以了


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值