`
limingjia37544214
  • 浏览: 47067 次
  • 性别: 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平台上的网络编程技术,包括标准Java接口、Apache HttpClient等,旨在帮助开发者掌握...

    android网络开发详解

    在Android开发中,网络连接是实现众多功能的关键部分,如...总之,Android网络开发涵盖了多种接口和策略,选择适合你的应用需求的方案是关键。了解并熟练掌握这些接口和最佳实践,将有助于构建高效、安全的网络应用。

    android应用开发详解

    《Android应用开发详解》这本书是为初学者量身打造的一本指南,旨在深入浅出地介绍Android应用开发的各个环节。Android开发是一个庞大且复杂的领域,涵盖了许多不同的技术和工具,但本书将带你逐步走进这个领域,从...

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

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

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

    《Android网络开发与应用实战详解》一书深入浅出地介绍了Android系统中如何实现网络通信,并提供了丰富的源码示例。这本书涵盖的内容广泛,包括基础的HTTP请求、数据解析、网络状态管理以及高级的WebSocket通信和...

    Android应用开发详解pdf

    《Android应用开发详解》是一本深受开发者欢迎的入门书籍,主要针对想要学习和掌握Android应用程序开发的初学者。这本书深入浅出地介绍了Android平台的基本概念、开发环境搭建、UI设计、数据存储、网络通信以及...

    《Android应用开发详解》源码(全章节)

    《Android应用开发详解》这本书是Android开发者们的重要参考资料,它深入浅出地讲解了Android应用开发的各个环节。源码作为书中的实践部分,是理论知识的直观体现,可以帮助读者更好地理解和掌握Android编程技术。这...

    Android应用开发详解.pdf

    根据提供的标题“Android应用开发详解.pdf”以及描述“Android应用开发详解.pdf”,我们可以推断这份文档主要涵盖了关于Android平台上的应用程序开发的相关知识和技术。虽然提供的部分内容似乎并不包含具体的信息,...

    Android应用开发详解2010版

    《Android应用开发详解2010版》是针对早期Android平台的一份详尽教程,旨在帮助开发者深入理解和实践Android应用程序的开发。这份资料的核心内容涵盖了Android应用开发的基础知识、核心概念以及当时的最新技术。 ...

    Android应用开发详解与代码(清晰版)

    《Android应用开发详解与代码(清晰版)》是一本针对初学者精心编写的指南,旨在帮助读者快速掌握Android应用开发的基础知识。这本书以其清晰的PDF格式,为学习者提供了优质的阅读体验,避免了模糊不清的图像或文字...

    android 项目开发详解代码

    "android 项目开发详解代码" 提供了一套完整的开发实例,旨在帮助学习者深入理解Android应用的生命周期、用户界面设计、数据存储、网络通信等核心概念。这份教材通过实际的代码示例,使得理论知识与实践相结合,有助...

    android应用开发详解 郭宏志

    《Android应用开发详解》是郭宏志先生撰写的一本深入探讨Android应用开发的书籍,它为读者提供了全面、详实的Android开发知识。通过这本书,开发者可以了解到Android平台的架构、核心组件以及如何构建功能丰富的应用...

    Android应用开发详解-附源码

    《Android应用开发详解》是郭宏志先生撰写的一本深入探讨Android应用开发的专业书籍,它为初学者和有经验的开发者提供了丰富的知识和实践经验。这本书不仅涵盖了基础理论,还包含了实际项目的源码,使得读者能够通过...

    Android应用开发详解教材源码(下册)

    《Android应用开发详解教材源码(下册)》是一本深度剖析Android应用开发的实践教程,包含8个单元,涵盖了30多个实例源码。这些实例旨在帮助读者深入理解Android平台上的应用程序设计与实现,从基础到高级,全方位地...

    Android应用开发详解

    "Android应用开发详解"的主题深入探讨了这个过程,提供了从基础到高级的全方位指导。此资源包括了2-18章的完整代码,这对于初学者和有经验的开发者来说都是宝贵的实践材料。 1. **Android SDK**: 开发Android应用的...

    《Android应用开发详解》PDF

    《Android应用开发详解》这本书是Android开发者学习平台技术的重要参考资料,它深入浅出地介绍了Android应用开发的各个方面。这本书的PDF版本提供了方便的电子阅读体验,使得开发者可以在任何时间、任何地点查阅相关...

    Android应用开发详解(PDF+全部的源代码)

    《Android应用开发详解》这本书是Android开发者的重要参考资料,它涵盖了从基础到高级的全面知识,旨在帮助读者深入理解和掌握Android应用程序的设计与实现。书中不仅有详尽的理论讲解,还附带了完整的源代码,方便...

    Android应用开发详解源码全

    本资源“Android应用开发详解源码全”涵盖了2-18章节的内容,这是一份全面的学习资料,旨在帮助开发者从源码层面探索Android应用开发的奥秘。 首先,我们要了解Android应用的基本架构,它基于Java语言,通过Android...

    Android应用开发详解 及源码

    《Android应用开发详解》这本书是为那些对Android应用开发充满热情并有一定Java基础的学习者精心编写的。本书全面深入地探讨了Android应用开发的各种技术,旨在帮助读者掌握Android平台下的编程技能,从而能够构建出...

    Android项目开发详解源代码

    这个"Android项目开发详解源代码"很可能是配合某个视频教程或书籍提供的实践材料,旨在帮助学习者深入理解Android应用的构建过程。下面,我们将深入探讨Android项目开发中的核心知识点,以及这些源代码可能涉及的...

Global site tag (gtag.js) - Google Analytics