瞿 蘇
(江蘇聯合職業技術學院揚州商務分院 信息電子系,江蘇 揚州 225000)
基于Android的網絡編程探討
瞿 蘇
(江蘇聯合職業技術學院揚州商務分院 信息電子系,江蘇 揚州 225000)
分析了在Android中利用HttpURLConnection和HttpClient通信方式訪問網絡的方法,并給出了實現代碼.
HttpURLConnection;HttpClient;GET;POST
Google公司以網絡搜索引擎起家,經過大膽的創意和不斷的努力,目前已經成為網絡世界的巨頭之一.出自于Google之手的Android平臺,在運用網絡編程上也非常優秀.隨著智能手機和平板電腦等移動終端設備的迅速發展,Internet已經不再只是傳統的有線互聯網,還包括移動互聯網.同有線互聯網一樣,移動互聯網也可以采用HTTP(超文本傳輸協議)訪問網絡.在Android中,網絡通信的方法包括HttpURLConnection和HttpClient.
Java.net包中包含HttpURLConnection抽象類,需要使用URL的openConnection()方法來獲得,用于發送HTTP請求和獲取HTTP響應.例如,要創建http://www.baidu.com網站對應的HttpURLConnection對象,可以使用下面的代碼:
URL url=new URL(http://www.baidu.com/);
HttpURLConnection urlconnection=(HttpURLConnection)url.openConnection();
其中, openConnection()方法創建了HttpURLConnection對象,可設置連接超時的時間和請求方式等屬性.創建好對象后,即可使用HTTP請求.HTTP請求分為GET請求和POST請求[1].
(1)發送GET請求
使用對象發送請求時,默認發送的是GET請求.因此,發送GET請求比較簡單,只需要在指定連接地址時,先將要傳遞的參數通過“?參數名=參數值”進行傳遞,然后獲取輸入流中的數據,并關閉連接即可.要實現向服務器發送GET請求并獲取服務器的響應結果,在程序編寫時,需要有一個無返回值的send()方法,用于建立一個HTTP連接,并將輸入的內容發送到Web服務器上,再讀取服務器的處理結果.Send()方法代碼如下:
public void send() {
String target="";
target = "http://192.168.1.66:8081/blog/index.jsp?content="
+Base64(content.getText().toString().trim());//要訪……