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

来源:互联网 发布:阿里云优惠码在哪看 编辑:程序博客网 时间:2024/06/05 03:38

客户端向服务器端发送数据,这里用到了两种,一种是在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> nameValuePair = new ArrayList<NameValuePair>(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> nameValuePair = new ArrayList<NameValuePair>();
            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数据格式的。

0 1
原创粉丝点击