Android三種網(wǎng)絡(luò)通信方式詳解
在Android平臺(tái)上,有三種可以使用的網(wǎng)絡(luò)接口,分別是*(標(biāo)準(zhǔn)Java接口)、Org.apache接口和*(Android網(wǎng)絡(luò)接口)。然而,很多人對(duì)于這些接口的功能和作用并不清楚。為了幫助大家更好地
在Android平臺(tái)上,有三種可以使用的網(wǎng)絡(luò)接口,分別是*(標(biāo)準(zhǔn)Java接口)、Org.apache接口和*(Android網(wǎng)絡(luò)接口)。然而,很多人對(duì)于這些接口的功能和作用并不清楚。為了幫助大家更好地理解,本文將詳細(xì)介紹這三種網(wǎng)絡(luò)通信方式。
1. 標(biāo)準(zhǔn)Java接口:*
*提供了與聯(lián)網(wǎng)相關(guān)的類(lèi),包括流、數(shù)據(jù)包套接字(socket)、Internet協(xié)議、常見(jiàn)Http處理等。例如,我們可以通過(guò)它來(lái)創(chuàng)建URL,并使用URLConnection/HttpURLConnection對(duì)象來(lái)設(shè)置鏈接參數(shù)、鏈接到服務(wù)器、向服務(wù)器寫(xiě)入數(shù)據(jù)以及從服務(wù)器讀取數(shù)據(jù)。下面以一個(gè)簡(jiǎn)單的socket編程實(shí)例來(lái)說(shuō)明:
A. 客戶(hù)端
首先,新建一個(gè)Android項(xiàng)目工程:SocketForAndroid。以下是main_activity.xml的代碼:
``` ```以下是的代碼:
``` // Java代碼 ```B. 服務(wù)端
以下是服務(wù)端代碼:
``` // Java代碼 ```啟動(dòng)服務(wù)器后,控制臺(tái)會(huì)打印出"start..."字符串。
運(yùn)行Android項(xiàng)目文件,在輸入框中輸入字符串并點(diǎn)擊發(fā)送按鈕。服務(wù)器將收到客戶(hù)端發(fā)來(lái)的消息并打印到控制臺(tái)。
2. Apache接口
對(duì)于大部分應(yīng)用程序而言,JDK本身提供的網(wǎng)絡(luò)功能已經(jīng)不夠用了。這時(shí),我們可以使用Android提供的Apache HttpClient來(lái)進(jìn)行Http編程。Apache HttpClient是一個(gè)開(kāi)源項(xiàng)目,它提供了高效、最新、功能豐富的工具包支持。下面以一個(gè)簡(jiǎn)單的例子來(lái)演示如何在Android客戶(hù)端訪問(wèn)Web:
首先,在你的機(jī)器上搭建一個(gè)名為"test"的web應(yīng)用,里面有兩個(gè)簡(jiǎn)單的PHP文件:hello_和hello_。內(nèi)容如下:
``` // PHP代碼 ```在原來(lái)的Android項(xiàng)目中新建一個(gè)Apache活動(dòng)類(lèi):。以下是代碼:
``` // Java代碼 ```新建一個(gè)apache.XML文件,如下:
``` ```運(yùn)行結(jié)果如下:
``` // 展示結(jié)果截圖 ```3. *編程
*包提供了一些特定于Android的網(wǎng)絡(luò)編程類(lèi),例如訪問(wèn)WiFi、訪問(wèn)Android聯(lián)網(wǎng)信息、郵件等功能。由于這些接口使用比較頻繁,這里就不再詳細(xì)舉例了。