httpclient发送Json请求,结果返回Json.
2014-11-07 17:44
429 查看
httpclient发送Json请求,结果返回Json.
博客分类:java
javajsonhttpclient
Java代码
public static JSONObject post(String url,JSONObject json){
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
JSONObject response = null;
try {
StringEntity s = new StringEntity(json.toString());
s.setContentEncoding("UTF-8");
s.setContentType("application/json");
post.setEntity(s);
HttpResponse res = client.execute(post);
if(res.getStatusLine().getStatusCode() == HttpStatus.OK.value()){
HttpEntity entity = res.getEntity();
String charset = EntityUtils.getContentCharSet(entity);
response = new JSONObject(new JSONTokener(new InputStreamReader(entity.getContent(),charset)));
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return response;
}
用到的jar包:httpclient-4.1.1.jar以及辅助类
json-lib-2.4-jdk15.jar
protected JSONArray doInBackground(String... params) { WebUtil webUtil = new WebUtil(); HttpResponse response= webUtil.getResultByPost(params[0], mParams); //HttpResponse response=webUtil.getResultByGet(params[0]); if(response!=null){ if(response.getStatusLine().getStatusCode()==200){ HttpEntity httpEntity = response.getEntity(); try { String resultToString = EntityUtils.toString(response.getEntity()); if(resultToString!=null){ jsonArray= new JSONArray(resultToString); /*//创建消息 Message message = Message.obtain(); message.obj=jsonArray; message.what=IS_FINISH;//消息标识符 handler.sendMessage(message);//发送消息给handler*/ } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } return jsonArray; } @Override protected void onPostExecute(JSONArray result) { // TODO Auto-generated method stub if(result!=null){ super.onPostExecute(result); dialog.dismiss(); historyAdapter = new HistoryAdapter(result,context); pullToRefreshListView.setAdapter(historyAdapter); pullToRefreshListView.setMode(Mode.BOTH);//上下都可拉动 //设置刷新监听事件 pullToRefreshListView.setOnRefreshListener( new OnRefreshListener2<ListView>(){ @Override public void onPullDownToRefresh( PullToRefreshBase<ListView> refreshView) { MyTask taskDown = new MyTask(); taskDown.execute(path); historyAdapter.notifyDataSetChanged(); } @Override public void onPullUpToRefresh( PullToRefreshBase<ListView> refreshView) { // TODO Auto-generated method stub MyTask taskUp = new MyTask(); taskUp.execute(path); historyAdapter.notifyDataSetChanged(); }}); pullToRefreshListView.onRefreshComplete(); } } }
public View getView(int position, View convertView, ViewGroup parent) { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd"); String obj= jsonArray.get(position).toString(); Gson gson = new Gson(); Skin skin = new Skin(); skin= gson.fromJson(obj, Skin.class); TextView tv = new TextView(context); tv.setTextSize(20); tv.setTextColor(Color.BLACK); tv.setText("用户ID:"+skin.getUserCode()); tv.setId(R.id.tvUserCode); TextView tvUserName = new TextView(context); tvUserName.setTextSize(20); tvUserName.setTextColor(Color.BLACK); tvUserName.setText("用户名:"+skin.getUserName()); tvUserName.setId(R.id.tvUserName); TextView tvTestDate = new TextView(context); tvTestDate.setTextSize(20); tvTestDate.setTextColor(Color.BLACK); Date date = new Date(skin.getTestDate()); tvTestDate.setText("检测日期:"+sdf.format(date)); tvTestDate.setId(R.id.tvTestDate); TextView tvHumidity = new TextView(context); tvHumidity.setTextSize(20); tvHumidity.setTextColor(Color.BLACK); tvHumidity.setText("水分值:"+skin.getHumidity()); tvHumidity.setId(R.id.tvHumidity); TextView tvPercent = new TextView(context); tvPercent.setTextSize(20); tvPercent.setTextColor(Color.BLACK); tvPercent.setText("水分比:"+skin.getPercent()+"%"); tvPercent.setId(R.id.tvPercent); TableLayout tableLayout = new TableLayout(context); TableRow tableRow1 = new TableRow(context); tableRow1.addView(tv); tableRow1.addView(tvUserName); TableRow tableRow2 = new TableRow(context); tableRow2.addView(tvTestDate); tableRow2.addView(tvHumidity); TableRow tableRow3 = new TableRow(context); tableRow3.addView(tvPercent); tableLayout.addView(tableRow1); tableLayout.addView(tableRow2); tableLayout.addView(tableRow3); LinearLayout layout= new LinearLayout(context); layout.addView(tableLayout); layout.setOrientation(LinearLayout.VERTICAL); return layout; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } }
相关文章推荐
- HttpClient 发送Json请求,结果返回Json
- HttpURLConnection 发送post请求。并将结果以JSONObject对象返回的轮子
- JAVA发送HttpClient请求及接收请求结果处理为JSONOBJCET过程
- 爬虫中使用HttpClient发送ajax请求,并处理返回的JSON字符串
- jQuery通过Ajax向PHP服务端发送请求并返回JSON数据
- 用.NET C# 发送HTTP 请求,返回结果
- JAVA发送HttpClient请求及接收请求结果过程
- Android--使用Http向服务器发送请求并取得返回结果,下载图片
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- HttpClient 发送Post,Get请求例子(包含设置请求头信息和获取返回头信息)
- Extjs读取更改或者发送ajax返回请求的结果简单封装
- 使用Ajax发送Struts2请求返回JSON数据格式
- ie发送ajax请求返回上一次结果的解决方法
- jQuery通过Ajax向PHP服务端发送请求并返回JSON数据
- 初涉Ajax,以post或get方法发送数据,以json或xml形式接收服务器返回的请求
- jQuery Ajax 向struts2发送请求,并返回json数据,遍历json数据
- 微信开发者-主动请求-准备工作-(2)处理微信的json返回结果(C#)
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- WebRequest,WebResponse发送请求并接受返回结果
- 利用HttpWebRequest请求url路径返回json结果对象