The introduction of HTTP connection APIs on Android platform - Part II.

在 這篇 中,我介紹過如何使用 java.net.* package 中的 HttpURLConnection class 來使用 HTTP 這個服務。

在這,我要介紹的是 Android 中,另一個好用的 Apache HttpClient 4.0 模組。

提到 Apache 的 HttpClient,一般大家比較熟悉的都是 Jakarta Commons HttpClient 3.x。不過,今天 Android 整合的是,目前最新的 HttpClient 4.0。

要使用這個新的 HttpClient 4.0 模組,你至少要 import 下列這些 packages。

    import org.apache.http.client.*      import org.apache.http.client.methods.*;  

同樣地,就以 GET 的用法來說,最簡單的用法如下:

    try {        HttpClient hc = new DefaultHttpClient();        HttpGet get = new HttpGet("http://www.google.com");        HttpResponse rp = hc.execute(get);                if (rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {          InputStream is = rp.getEntity().getContent();           ...        }       }      catch (IOException e) {}  

這個 HttpClient 4.0 模組,在目前 (2008.09) 還沒有正式 release。因此,官網上也沒有詳細的用法說明。不過,倒是有幾個還不錯的 範例程式。像是,如何透過 proxy 使用 http 服務,如何使用 http post。其中,我覺得最有用的是 如何同時啟動 multi-thread 的 http request 服務。

除了,java.net.* 中的 HttpURLConnection,以及 org.apache.commons.httpclient.* 中的 HttpClient 這兩個類別外。其實在 Android 中,還隱藏了幾個類似的東西。

第一個是 android.net.http.* 的 AndroidHttpClient(主要使用 Apache 的 HttpClient),另一個是 com.google.android.net.* 的 GoogleHttpClient(主要使用 AndroidHttpClient)。而這個 GoogleHttpClient 更是地圖程式(MapActivity)背後的主要 http request 引擎。另外,可以透過 http 安裝應用程式的 CheckinService,也是用 GoogleHttpClient。

不用找了,你在 SDK 文件上,是找不到這些類別的用法的。這些,目前都還是 undocumented 的。你得翻原始程式才看到的。

更多相关文章

  1. [安卓开发Android] RecyclerView 类型与点击事件的用法
  2. Android(安卓)使用Intent隐式传递启动Activity(访问网址,打电话
  3. android studio3.1.4更新3.2.1版本問題Unknown host 'android-mi
  4. Android(安卓)程式开发:(二十)内容提供者 —— 20.6 自定义ContentP
  5. TextView 花里胡哨的用法 - SpannableStringBuilder
  6. Android(安卓)中Uri的用法汇总
  7. 注册广播的两种方式:动态广播和静态广播的区别和用法
  8. Android中Notification的用法汇总
  9. 13-6-27 android布局include的用法

随机推荐

  1. android 各种常用,不易记的dialog,等控件
  2. android中sqlite的使用
  3. android中限制EditText中输入指定字符
  4. 设置屏幕显示模式ScreenOrientation.
  5. 如何去掉Android(安卓)kitkat中的红框
  6. Android(安卓)Paint之 setXfermode Porte
  7. Android架构组件(1)Lifecycles体系
  8. 解决Android(安卓)Studio报的警告:Resourc
  9. Android(Java) GMT时间转换
  10. Android获取字体高度和设置行高