`
limingjia37544214
  • 浏览: 45162 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Android 网络开发详解

 
阅读更多
// 创建一个 HttpClient 实例
  // 注意 HttpClient httpClient = new HttpClient(); 是Commons HttpClient
  // 中的用法,在 Android 1.5 中我们需要使用 Apache 的缺省实现 DefaultHttpClient
  HttpClient httpClient = new DefaultHttpClient(params);
  // 创建 HttpGet 方法,该方法会自动处理 URL 地址的重定向
  HttpGet httpGet = new HttpGet ("http://www.test_test.com/");
  HttpResponse response = client.execute(httpGet);
  if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
  // 错误处理,例如可以在该请求正常结束前将其中断
  httpGet.abort();
  }
  // 读取更多信息
  Header[] headers = response.getHeaders();
  HttpEntity entity = response.getEntity();
  Header header = response.getFirstHeader("Content-Type");
  } catch (Exception ee) {
  //
  } finally {
  // 释放连接
  client.getConnectionManager().shutdown();
  }
  import org.apache.http.HttpEntity;
  import org.apache.http.HttpHost;
  import org.apache.http.HttpResponse;
  import org.apache.http.auth.AuthScope;
  import org.apache.http.auth.UsernamePasswordCredentials;
  import org.apache.http.client.methods.HttpGet;
  import org.apache.http.conn.params.ConnRoutePNames;
  import org.apache.http.params. HttpConnectionParams;
  import org.apache.http.client.params. HttpClientParams;
  try {
  // 创建 HttpParams 以用来设置 HTTP 参数(这一部分不是必需的)
  HttpParams params = new BasicHttpParams();
  // 设置连接超时和 Socket 超时,以及 Socket 缓存大小
  HttpConnectionParams.setConnectionTimeout(params, 20 * 1000);
  HttpConnectionParams.setSoTimeout(params, 20 * 1000);

#p# #e#
  
  HttpConnectionParams.setSocketBufferSize(params, 8192);
  // 设置重定向,缺省为 true
  HttpClientParams.setRedirecting(params, true);
  // 设置 user agent
  HttpProtocolParams.setUserAgent(params, userAgent);
  // 创建一个 HttpClient 实例
  // 注意 HttpClient httpClient = new HttpClient(); 是Commons HttpClient
  // 中的用法,在 Android 1.5 中我们需要使用 Apache 的缺省实现 DefaultHttpClient
  HttpClient httpClient = new DefaultHttpClient(params);
  // 创建 HttpGet 方法,该方法会自动处理 URL 地址的重定向
  HttpGet httpGet = new HttpGet ("http://www.test_test.com/");
  HttpResponse response = client.execute(httpGet);
  if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
  // 错误处理,例如可以在该请求正常结束前将其中断
  httpGet.abort();
  }
  // 读取更多信息
  Header[] headers = response.getHeaders();
  HttpEntity entity = response.getEntity();
  Header header = response.getFirstHeader("Content-Type");
  } catch (Exception ee) {
  //
  } finally {
  // 释放连接
  client.getConnectionManager().shutdown();
  }
  以下例子以 HttpGet 方式通过代理访问 HTTPS 网站:
  try {
  HttpClient httpClient = new HttpClient();
  // 设置认证的数据
  httpClient.getCredentialsProvider().setCredentials(
  new AuthScope("your_auth_host", 80, "your_realm"),
  new UsernamePasswordCredentials("username", "password"));
  // 设置服务器地址,端口,访问协议
  HttpHost targetHost = new HttpHost("www.test_test.com", 443, "https");
  // 设置代理
  HttpHost proxy = new HttpHost("192.168.1.1", 80);
  httpClient.getParams().setParameter
  (ConnRoutePNames.DEFAULT_PROXY, proxy);
  // 创建一个 HttpGet 实例

#p# #e#
  
  HttpGet httpGet = new HttpGet("/a/b/c");
  // 连接服务器并获取应答数据
  HttpResponse response = httpClient.execute(targetHost, httpGet);
  // 读取应答数据
  int statusCode = response.getStatusLine().getStatusCode();
  Header[] headers = response.getHeaders();
  HttpEntity entity = response.getEntity();
  } catch (Exception ee) {
  //
  2.3. Android接口
  android.net.* 实际上是通过对 Apache 的 HttpClient 的封装来实现的一个 HTTP 编程接口,同时还提供了 HTTP 请求队列管理, 以及 HTTP 连接池管理,以提高并发请求情况下(如转载网页时)的处理效率,除此之外还有网络状态监视等接口。
  以下是一个通过 AndroidHttpClient 访问服务器的最简例子:
  import import android.net.http.AndroidHttpClient;
  try {
  AndroidHttpClient client = AndroidHttpClient.newInstance(“your_user_agent”);
  // 创建 HttpGet 方法,该方法会自动处理 URL 地址的重定向
  HttpGet httpGet = new HttpGet ("http://www.test_test.com/");
分享到:
评论

相关推荐

    Android网络开发详解

    android 网络编程

    android网络开发详解

    详细介绍了 android开发中网络连接的介绍和详细代码设计。

    Android应用开发详解.pdf (附源码)

    Android应用开发详解是一本Android应用开发书籍,既适合Android初学者,也适合具备了一定Android开发经验但需要开发案例的高级读者。 该书分为三个部分,共18章,由浅入深地详细介绍了Android的每个开发细节。 该书...

    android网络开发与应用实战详解源码

    《android网络开发与应用实战详解》一书源代码

    Android应用开发详解

    《Android应用开发详解》分为三个部分,共18章,由浅入深地详细介绍了Android的每个开发细节。《Android应用开发详解》基础翔实,实例丰富,案例真实。从基础到案例覆盖了Android应用开发的三大领域:基础应用、网络...

    《Android网络开发技术实战详解》 PDF

    《Android网络开发技术实战详解》以Android网络应用程序的开发为主题,从底层原理开始讲起,结合真实的案例向读者详细介绍了Android的基本组件的使用及应用程序开发的整个流程。《Android网络开发技术实战详解》的...

    Android网络开发技术实战详解

    资源名称:Android网络开发技术实战详解内容简介:《Android移动开发技术丛书:Android网络开发技术实战详解》以Android网络应用程序的开发为主题,从底层原理开始讲起,结合真实的案例向读者详细介绍了Android的...

    Android应用开发详解 pdf+code

    Android应用开发详解 pdf+code 郭宏志 编著 Android应用开发详解是一本Android应用开发书籍,既适合Android初学者,也适合具备了一定Android开发经验但需要开发案例的高级读者。 该书分为三个部分,共18章,...

    Android网络开发技术实战详解 完整版 pdf

    Android网络开发技术实战详解 [朱桂英编著][电子工业出版社][2012.08][584页]

    Android应用开发详解(pdf)

    Android应用开发详解是一本Android应用开发书籍,既适合Android初学者,也适合具备了一定Android开发经验但需要开发案例的高级读者。 该书分为三个部分,共18章,由浅入深地详细介绍了Android的每个开发细节。 该书...

    Android应用开发详解(PDF)

    Android应用开发详解: 从基础到案例覆盖了Android应用开发的三大领域:基础应用、网络应用和游戏应用。 第一篇 基础篇  第1章 Android概述  1.1 Android的前世今生  1.1.1 Android的产生  1.1.2 Android的...

    《Android网络开发与应用实战详解》 PDF

    Android凭借其强大的功能逐渐赢得了广大用户和开发者的...《Android网络开发与应用实战详解》适合Android程序员、研发人员及Android爱好者阅读,也可以作为相关培训班和大专院校相关专业的教学用书。本书由王东华编著。

    android网络开发技术实战详解电子书

    android 的电子书 传上来共享下吧 当时学的时候就是照着书学的

Global site tag (gtag.js) - Google Analytics