一、 Android SDK 網絡包
Java.net 提供與聯網有關的類,包括流和資料包(datagram)sockets、Internet 協定和常見 HTTP 處理。該包是一個多功能網絡資源。有經驗的 Java 開發人員可以立即使用這個熟悉的包建立應用程式。
java.io 雖然沒有提供顯式的聯網功能,但是仍然非常重要。該包中的類由其他 Java 包中提供的 socket 和連接配接使用。它們還用于與本地檔案(在與網絡進行互動時會經常出現)的互動
java.nio 包含表示特定資料類型的緩沖區的類。适合用于兩個基于 Java 語言的端點之間的通信。
org.apache.* 表示許多為 HTTP 通信提供精确控制和功能的包。可以将 Apache 視為流行的開源 Web 伺服器。
android.net 除核心 java.net.* 類以外,包含額外的網絡通路 socket。該包包括 URI 類,後者頻繁用于 Android 應用程式開發,而不僅僅是傳統的聯網方面。
android.net.http 包含處理 SSL 證書的類。
android.net.wifi 包含在 Android 平台上管理有關 WiFi(802.11 無線 Ethernet)所有方面的類。
android.telephony.gsm 包含用于管理和發送 SMS(文本)消息的類。一段時間後,可能會引入額外的包來來為非 GSM 網絡提供類似的功能,比如 CDMA 或 android.telephony.cdma 等網絡。
Android.net.sip 包含Andriod平台上管理有關SIP協定如建立和回應Voip的類
Android.nfc 包含所有用來管理近場通信相關的功能類
二、在Android中網絡程式設計的方式:
(1)針對TCP/IP的Socket、ServerSocket
(2)針對UDP的DatagramSocket、DatagramPackage。這裡需要注意的是,考慮到Android裝置通常是手持終端,IP都是随着上網進行配置設定的。不是固定的。是以開發也是有一點與普通網際網路應用有所差異的。
(3)針對直接URL的HttpURLConnection
(4)Google內建了Apache HTTP用戶端,可使用HTTP進行網絡程式設計。針對HTTP,Google內建了Appache Http core和httpclient 4版本,是以特别注意Android不支援httpclient 3.x系列,而且目前并不支援Multipart(MIME),需要自行添加httpmime.jar
(5)使用Web Service。Android可以通過開源包如jackson去支援Xmlrpc和Jsonrpc,另外也可以用Ksoap2去實作Webservice
(6) 直接使用WebView視圖元件顯示網頁。基于WebView 進行開發,Google已經提供了一個基于chrome-lite的Web浏覽器,直接就可以進行上網浏覽網頁。