Android的三種網絡通訊方式詳解?
Android平臺有三種網絡接口可以使用,他們分別是:java.net.*(標準Java接口)、Org.apache接口和Android.net.*(Android網絡接口)。但關於這些接口的功能和作用,很多人並不是很清楚,今由開源中國社區公佈一份關於Android的三種網絡通訊方式詳解,分別介紹這些接口的功能和作用。
工具/原料
安裝Android平臺的電腦
方法/步驟
1、標準Java接口
java.net.*提供與聯網有關的類,包括流、數據包套接字(socket)、Internet協議、常見Http處理等。比如:創建URL,以及URLConnection/HttpURLConnection對象、設置鏈接參數、鏈接到服務器、向服務器寫數據、從服務器讀取數據等通信。這些在Java網絡編程中均有涉及,我們看一個簡單的socket編程,實現服務器回發客戶端信息。
下面用個例子來說明:
A、客戶端:
新建Android項目工程:SocketForAndroid(這個隨意起名字了吧,我是以這個建立的!)
下面是main_activity.xml的代碼:
MainActivity.java的代碼入下:
B、服務端:
C、啟動服務器,控制檯會打印出“start...”字符串!
D、運行Android項目文件,如下圖:
在輸入框裡輸入如下字符串,點發送按鈕:
服務器收到客戶端發來的消息並打印到控制檯:
2、Apache接口
對於大部分應用程序而言JDK本身提供的網絡功能已遠遠不夠,這時就需要Android提供的Apache HttpClient了。它是一個開源項目,功能更加完善,為客戶端的Http編程提供高效、最新、功能豐富的工具包支持。
下面我們以一個簡單例子來看看如何使用HttpClient在Android客戶端訪問Web。
首先,要在你的機器上搭建一個web應用test,有兩個很簡單的PHP文件:hello_get.php和hello_post.php!
內容如下:
在原來的Android項目裡新建一個Apache活動類:Apache.java,代碼如下:
新建一個apache.XML文件,如下:
結果運行如下:
3、android.net編程:
常常使用此包下的類進行Android特有的網絡編程,如:訪問WiFi,訪問Android聯網信息,郵件等功能。
這裡就不詳細做例子了,因為這個接觸比較多~~~。
注意事項
熟練掌握Android的網絡編程