Android使用HttpPost向服务器发送Json数据
16lz
2021-01-26
客户端向服务器端发送数据,这里用到了两种,一种是在url中带参数,一种是json数据发送方式;
url带参数的写法:
?1 | url+/?r=m/calendar/contact_list&uid= 3 &&subscriptionslist[pageindex]= 10 &subscriptionslist[recordlimit]= 10 |
从“&”符号之后一连串都是参数。
发送方式代码编写:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(HttpUtil.BASIC_URL + HttpUtil.SUBSCRIPTION_URL); try { if (cookie != null ) { // httpClient.setCookieStore(LoginJsonUtil.cookie); List new ArrayList 2 ); nameValuePair.add( new BasicNameValuePair( "uid" , uid)); nameValuePair.add( new BasicNameValuePair( "subscriptionslist[pageindex]" , subscriptionslist_pageindex)); nameValuePair.add( new BasicNameValuePair( "subscriptionslist[recordlimit]" , subscriptionslist_recordlimit)); httpPost.setEntity( new UrlEncodedFormEntity(nameValuePair)); |
传递参数使用nameValuePair。
如果使用cookie的话,使用上段代码中注释掉的部分
?1 | httpClient.setCookieStore(LoginJsonUtil.cookie); |
使用json数据格式发送信息向服务器端:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | HttpClient httpClient = new DefaultHttpClient(); try { HttpPost httpPost = new HttpPost(BASIC_URL + url); List new ArrayList JSONObject jsonObject = new JSONObject(); JSONObject jsonObject2 = new JSONObject(); jsonObject.put( "uemail" , userbean.getEmail()); jsonObject.put( "password" , userbean.getPassword()); jsonObject2.put( "userbean" , jsonObject); nameValuePair.add( new BasicNameValuePair( "jsonString" , jsonObject .toString())); Log.i( "lifeweeker" , jsonObject2.toString()); httpPost.setEntity( new UrlEncodedFormEntity(nameValuePair)); |
这里每个put的顺序我不清楚有没有规定,我是严格按照提供的前后顺序来组合json数据格式的。
更多相关文章
- Android通过queryIntentActivities自定义发送功能
- Android(安卓)web services8 参数介绍
- ArcGIS for Android示例解析之GP服务调用-----ViewShed
- Android(安卓)友盟简单快速集成
- [Android]Ams 广播发送原理(三)
- 自定义控件二: Paint Canvar 画几何图形
- 利用Android画圆弧canvas.drawArc()实例详解
- Android(安卓)圆形图圆形ImageView
- Linux基本知识(四):Android常用自动化命令