java接收httppost数据,HttpClient连接服务器(方法有很多,我只写HttpPost,接收数据,传输数据都为json形式)...

首先,注意一点,连接服务器都不在主线程中进行,因为连接服务需要时间,这里简要介绍相关实现

public static HttpClient hc = null;

public static String server1 = "http://192.168.6.74:8080/testHttpClient2/first";

private class DownloadPass extends Thread{

try {

hc = new DefaultHttpClient();

HttpPost httppost = new HttpPost(server1);

httppost.addHeader("Content-Type", "application/json");

httppost.addHeader("User-Agent", "imgfornote");

String model = android.os.Build.MODEL;

SharedPreferences preference0 = getSharedPreferences("serialNo", MODE_PRIVATE);

String serialNo = preference0.getString("serialNo", "0");

JSONObject obj = new JSONObject();

obj.put("serialNo", serialNo);

httppost.setEntity(new StringEntity(obj.toString()));

HttpResponse response;

response = hc.execute(httppost);

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

if(code==200){

str1 = EntityUtils.toString(response.getEntity());

}

if(str1!=null&&!str1.equals("")){

obj = new JSONObject(str1);

String url = obj.getString("url");

String updated = obj.getString("updated");

String serialNo1 = obj.getString("serialNo");

Intent intent = new Intent(Loading.this,DownloadPassService.class);

intent.putExtra("serialNo", serialNo1);

intent.putExtra("url", url.trim());

startService(intent);

}else{

SharedPreferences preference = getSharedPreferences("pass", MODE_PRIVATE);

preference.edit().clear().putBoolean("pass", true).commit();

}

} catch(ClientProtocolException e){

e.printStackTrace();

} catch (IOException e) {

mProgressHandler.sendEmptyMessage(20);

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

} finally

{

//postMethod.releaseConnection();

shutdownHttpClient();

}

private void shutdownHttpClient() {

if (hc != null && hc.getConnectionManager() != null) {

hc.getConnectionManager().shutdown();

}

}

}

posted on 2013-05-08 19:28 Terry Zou 阅读(3280) 评论(0)  编辑  收藏 所属分类: Android

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值