Android从第三方项目获取数据通常使用这两种方式
1,xml格式的数据交互(对xml进行解析获取数据)
2,json格式的数据交互(对json格式数据进行解析,使用HttpClient技术访问后台代码)
HttpClient的使用步骤
3. HttpClient的使用步骤
3.1 创建HttpClient对象
HttpClient httpClient = new DefaultHttpClient();
3.2 创建HttpGet(或HttpPost)对象
HttpGet HttpGet = new HttpGet("http://www.baidu.com");
HttpPost httpPost = new HttpPost("http://www.baidu.com");
3.3 添加参数(可选)
setParams(HttpParams params)//HttpGet和HttpPost共有
setEntity(HttpEntity entity)//HttpPost独有
3.4 发送GET(或POST)请求,并获得响应
HttpResponse httpResponse = httpClient.execute(HttpUriRequest request);
注1:HttpUriRequest为HttpGet和HttpPost的父类
注2:需要添加允许网络访问权限,不然会报错“java.lang.SecurityException: Permission denied (missing INTERNET permission?)”
<uses-permission android:name="android.permission.INTERNET" />
注3:如果地址错误,或服务器未开户,HttpClient这SB会等待N久(>24小时)。
Request sent数据请求时间;Waiting数据响应时间,
注:多注意Request sent和Waiting时间的长短,如这两种时间超时明显过长可能是第三方数据发生了地址性的变化
所以请记得设置超时时间,所以请记得设置超时时间,所以请记得设置超时时间
所以请记得设置超时时间,所以请记得设置超时时间,所以请记得设置超时时间
所以请记得设置超时时间,所以请记得设置超时时间,所以请记得设置超时时间
另外HttpClient版本不一样,代码也不一样。下面的4.0版本的写法
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 2000);// 连接时间
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 2000);// 数据传输时间
3.5 处理响应
3.5.1 响应状态码(200)
httpResponse.getStatusLine().getStatusCode()
3.5.2 响应头
getAllHeaders()/getHeaders(String name)
3.5.3 响应内容
HttpEntity httpEntity &#