写一份安卓开发 关于Android Http请求的实验小结
时间: 2023-08-05 14:41:21 浏览: 80
ThinkAndroid Http请求Demo
好的,以下是 Android Http 请求的实验小结。
一、Http 请求基本流程
Android 中的 Http 请求一般分为以下几个步骤:
1. 创建一个 HttpClient 对象或者 HttpURLConnection 对象。
2. 创建一个 HttpGet、HttpPost、HttpPut、HttpDelete 等 Http 请求对象。
3. 设置请求参数,如请求地址、请求头、请求体等。
4. 执行请求,获取响应结果。
5. 解析响应结果,处理返回的数据。
二、Http 请求使用方法
1. 创建 HttpClient 对象
```java
HttpClient httpClient = new DefaultHttpClient();
```
2. 创建 HttpGet、HttpPost、HttpPut、HttpDelete 等 Http 请求对象
```java
HttpGet httpGet = new HttpGet(url);
HttpPost httpPost = new HttpPost(url);
HttpPut httpPut = new HttpPut(url);
HttpDelete httpDelete = new HttpDelete(url);
```
3. 设置请求参数
设置请求地址:
```java
httpGet.setURI(new URI(url));
httpPost.setURI(new URI(url));
httpPut.setURI(new URI(url));
httpDelete.setURI(new URI(url));
```
设置请求头:
```java
httpGet.setHeader("Content-Type", "application/json");
httpPost.setHeader("Content-Type", "application/json");
httpPut.setHeader("Content-Type", "application/json");
httpDelete.setHeader("Content-Type", "application/json");
```
设置请求体:
```java
StringEntity entity = new StringEntity(data, "UTF-8");
httpPost.setEntity(entity);
httpPut.setEntity(entity);
```
4. 执行请求,获取响应结果
```java
HttpResponse httpResponse = httpClient.execute(httpGet);
int statusCode = httpResponse.getStatusLine().getStatusCode();
String response = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
```
5. 解析响应结果,处理返回的数据
```java
JSONObject jsonObject = new JSONObject(response);
String result = jsonObject.getString("result");
```
三、Http 请求常见错误及解决方法
1. android.os.NetworkOnMainThreadException 异常
该异常通常是因为在主线程中进行了网络请求操作。解决方法是将网络请求放到子线程中执行。
2. java.net.SocketTimeoutException 异常
该异常通常是因为网络连接超时。解决方法是设置连接超时和读取超时时间。
```java
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, timeout);
HttpConnectionParams.setSoTimeout(httpParams, timeout);
```
3. java.net.UnknownHostException 异常
该异常通常是因为访问的域名不正确或者无法解析。解决方法是检查域名是否正确、是否有网络连接等。
4. java.io.IOException 异常
该异常通常是因为网络连接失败或者服务器返回的数据格式不正确。解决方法是检查网络连接、请求参数、返回数据等。
以上是 Android Http 请求的实验小结,希望能对您有所帮助。
阅读全文