Android的通信機制與網絡(一)

From:http://blog.csdn.net/xiang_j2ee/article/details/6787056

在J2EE體系中,服務器發送消息到jsp、Servlet、http等頁面通常採用兩種傳輸方式:get和post。此次主要以Servlet爲列子,介紹Android與Servlet的通信,知道了這種傳輸機制,其他兩種都是大同小異的。

        前提:創建兩個工程,一個是web project(上),一個是android project(下),如下圖:

        get方式:

        我們知道,get機制採用的是在URL地址裏面通過?號間隔,然後以name=value的形式給客戶端傳遞參數。所以首先要在Android工程下的AndroidGetTest.java中onCreate方法定義好其URL地址以及要傳遞的參數,然後通過URL打開一個HttpURLConnection鏈接,此鏈接可以獲得InputStream字節流對象,也是往服務端輸出和從服務端返回數據的重要過程,而若服務端response.getInputStream.write(...)往andorid返回信息時候,就可以通過InputStreamReader作轉換,將返回來的數據用BufferReader顯示出來。具體代碼如下:

        Servlet端接收數據並返回通知:

       

        Android端發送消息並接收Servlet返回的消息:

       

        核心代碼已準備齊全,接下來啓動Tomcat服務,運行Android,會發現兩端都有數據。

注意此時不能用中文,中文會亂碼,下面會講解講解中文亂碼的方法。

 

post方式:

        post傳輸方式不在URL裏傳遞,也正好解決了get傳輸量小、容易篡改及不安全等一系列不足。主要是通

過對HttpURLConnection的設置,讓其支持post傳輸方式,然後在通過相關屬性傳遞參數(若需要傳遞中文字符,則可以通過URLEncoder編碼,而在獲取端採用URLDecoder解碼即可)

 

下面來看看服務器端和Android端的效果圖:

 

完成。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章