zz:Android使用HttpPost向服务器发送Json数据

Android使用HttpPost向服务器发送Json数据



客户端向服务器端发送数据,这里用到了两种,一种是在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 nameValuePair = 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 nameValuePair = 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

你可能感兴趣的:(zz:Android使用HttpPost向服务器发送Json数据)