天天看點

android通信機制學習(一)

一、 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浏覽器,直接就可以進行上網浏覽網頁。

繼續閱讀