Android(安卓)上的 HTTP 服務相關函式 (II)
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 的。你得翻原始程式才看到的。
更多相关文章
- [安卓开发Android] RecyclerView 类型与点击事件的用法
- Android(安卓)使用Intent隐式传递启动Activity(访问网址,打电话
- android studio3.1.4更新3.2.1版本問題Unknown host 'android-mi
- Android(安卓)程式开发:(二十)内容提供者 —— 20.6 自定义ContentP
- TextView 花里胡哨的用法 - SpannableStringBuilder
- Android(安卓)中Uri的用法汇总
- 注册广播的两种方式:动态广播和静态广播的区别和用法
- Android中Notification的用法汇总
- 13-6-27 android布局include的用法