背景:尼玛,在公司老被项目负责人屌;我只是反应慢点而已;这是算是开发软件的基础,因此地大概总结下,省得下次又被屌; android
废话少说;向服务器发送请求的方法有两种,post方法和get方法;两种方法均可以获取返回的数据;具体使用哪一种方法视服务器提供的接口而定,有时候接口会限定使用post或者get方法的;返回的数据也是根据接口提示的数据而定(通常返回JSON格式的数据);因此,在网络编程前弄懂接口的信息是很是有必要的; 编程
在发送http请求时,先在AndroidManifest.xml中加上<uses-permission android:name="android.permission.INTERNET"获取联网资格 服务器
一、获取接口地址:String baseurl = "http://www.baidu.com/s?";接口地址根据实际状况提供; 网络
二、get 方法: post
(1)、生成请求对象:HttpGet httpGet = new HttpGet(url);参数url为 String url = baseurl + srt; srt 为 请求接口要求的数据;根据接口的要求设置; 编码
(2)、生成http客户端对象:HttpClient client = new DefaultHttpClient();貌似还有其余形式的http客户 端; url
(3)、接收响应:HttpResponse httpResponse = client.execute(httpGet);这时,请求接口返回的数据就 在httpResponse对象里了;能够经过EncodingUtils类里面的方便将数据转换成byte[]或者String;根 据本身的实际状况处理; spa
三、post方法:通常发送键值对数据去请求接口数据; code
(1)、处理键值对:NameValuePair nameValuePair = new BasicNameValuePair("kkk", "vvv"); xml
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(nameValuePair);
(2)、对参数编码:HttpEntity requestHttpEntity = new UrlEncodedFromEntity(nameValuePairs);
(3)、生成post请求对象:HttpPost httpPost = new HttpPost(baseurl);
httpPost.setEntity(requestHttpEntity);
(4)、生成http客户端对象(发送请求):HttpClient httpClient = new DefaultHttpClient();
(5)、接收响应:HttpResponse httpResponse = httpClient.execute(httpPost);这时,接口返回的数据 就在httpResponse对象里了;用EncodingUtils类将数据处理成须要的类型就能够了;
基本上post、get的步骤都是这样;就是对返回的数据的处理方式不一样;咱们能够在实际状况中对不一样的数据做不一样的处理;