1. /* 注意get和post请求的发送区别
2. * 1、创建HttpGet(或HttpPost)对象,将要请求的URL通过构造方法传入HttpGet(或HttpPost)对象中;
3. 2、使用DefaultHttpClient类的execute方法发送HTTP GET或HTTP POST 请求,并返回HttpResponse对象;
4. 3、通过HttpResponse接口的getEntity方法返回响应信息。
5. * */
6.
7. public class TestHttpActivity extends
8. private
9. private
10. @Override
11. public void
12. super.onCreate(savedInstanceState);
13. setContentView(R.layout.main);
14. btn_get=(Button)findViewById(R.id.btn_get);
15. btn_post=(Button)findViewById(R.id.btn_post);
16. btn_get.setOnClickListener(listener);
17. btn_post.setOnClickListener(listener);
18. }
19. private OnClickListener listener=new
20.
21. @Override
22. public void
23. switch
24. case
25. "TestHttpActivity", "ok");
26. new
27. /**NameValuePair是传送给服务器的请求参数 param.get("name") **/
28. new
29. new BasicNameValuePair("name", "name0001");
30. new BasicNameValuePair("age", "age0001");
31. list.add(pair1);
32. list.add(pair2);
33. null;
34. try
35. /**设置编码 **/
36. new UrlEncodedFormEntity(list,"UTF-8");
37. catch
38. // TODO Auto-generated catch block
39. e.printStackTrace();
40. }
41. /**新建一个post请求**/
42. new HttpPost("http://aaron-pc.wsd.com/Test/testHttp");
43. post.setEntity(entity);
44. null;
45. "";
46. try
47. /**客服端向服务器发送请求**/
48. response = client.execute(post);
49. catch
50. // TODO Auto-generated catch block
51. e.printStackTrace();
52. catch
53. // TODO Auto-generated catch block
54. e.printStackTrace();
55. }
56. /**请求发送成功,并得到响应**/
57. if(response.getStatusLine().getStatusCode()==200){
58. try
59. /**读取服务器返回过来的json字符串数据**/
60. strResult = EntityUtils.toString(response.getEntity());
61. catch
62. // TODO Auto-generated catch block
63. e.printStackTrace();
64. catch
65. // TODO Auto-generated catch block
66. e.printStackTrace();
67. }
68.
69.
70. null;
71. try
72. /**把json字符串转换成json对象**/
73. jsonObject = getJSON(strResult);
74. catch
75. // TODO Auto-generated catch block
76. e1.printStackTrace();
77. }
78. "";
79.
80. try
81. /**
82. * jsonObject.getString("code") 取出code
83. * 比如这里返回的json 字符串为 [code:0,msg:"ok",data:[list:{"name":1},{"name":2}]]
84. * **/
85.
86. /**得到data这个key**/
87. "data");
88. /**把data下的数据转换成json对象**/
89. new
90. /**判断data对象下的list是否存在**/
91. if(jDat.get("list")!=null){
92. /**把list转换成jsonArray对象**/
93. "list");
94. /**循环list对象**/
95. for (int i = 0; i < jarr.length(); i++) {
96.
97. /** **/
98. JSONObject jsono = (JSONObject) jarr.get(i);
99.
100. /**取出list下的name的值 **/
101. "name");
102.
103. }
104. }
105. this, "code:"+jsonObject.getString("code")+"name:"+names, Toast.LENGTH_SHORT).show();
106. catch
107. // TODO Auto-generated catch block
108. e.printStackTrace();
109. }
110.
111.
112. }
113. else Toast.makeText(TestHttpActivity.this, "POST提交失败", Toast.LENGTH_SHORT).show();
114. break;
115.
116. case
117. new
118. /**NameValuePair是传送给服务器的请求参数 param.get("name") **/
119.
120. null;
121.
122. /**新建一个get请求**/
123. new HttpGet("http://aaron-pc.wsd.com/Test/testHttp");
124. null;
125. "";
126. try
127. /**客服端向服务器发送请求**/
128. response1 = client1.execute(get);
129. catch
130. // TODO Auto-generated catch block
131. e.printStackTrace();
132. catch
133. // TODO Auto-generated catch block
134. e.printStackTrace();
135. }
136. /**请求发送成功,并得到响应**/
137. if(response1.getStatusLine().getStatusCode()==200){
138. try
139. /**读取服务器返回过来的json字符串数据**/
140. strResult1 = EntityUtils.toString(response1.getEntity());
141. catch
142. // TODO Auto-generated catch block
143. e.printStackTrace();
144. catch
145. // TODO Auto-generated catch block
146. e.printStackTrace();
147. }
148.
149.
150. null;
151. try
152. /**把json字符串转换成json对象**/
153. jsonObject1 = getJSON(strResult1);
154. catch
155. // TODO Auto-generated catch block
156. e1.printStackTrace();
157. }
158. "";
159.
160. try
161. /**
162. * jsonObject.getString("code") 取出code
163. * 比如这里返回的json 字符串为 [code:0,msg:"ok",data:[list:{"name":1},{"name":2}]]
164. * **/
165.
166. /**得到data这个key**/
167. "data");
168. /**把data下的数据转换成json对象**/
169. new
170. /**判断data对象下的list是否存在**/
171. if(jDat1.get("list")!=null){
172. /**把list转换成jsonArray对象**/
173. "list");
174. /**循环list对象**/
175. for (int i = 0; i < jarr1.length(); i++) {
176.
177. /** **/
178. JSONObject jsono = (JSONObject) jarr1.get(i);
179.
180. /**取出list下的name的值 **/
181. "name");
182.
183. }
184. }
185. this, "get请求: code:"+jsonObject1.getString("code")+"name:"+names, Toast.LENGTH_SHORT).show();
186. catch
187. // TODO Auto-generated catch block
188. e.printStackTrace();
189. }
190.
191.
192. }
193. else Toast.makeText(TestHttpActivity.this, "get提交失败", Toast.LENGTH_SHORT).show();
194. break;
195. }
196.
197. }
198. };
199. public JSONObject getJSON(String sb) throws
200. return new
201. }
202.
203. }
204.