gson的簡要使用–關於web端和android之間的資料轉送

來源:互聯網
上載者:User

在實訓項目中有項功能需要在android手機端和web端進行資料轉送,原本剛開始的時候我使用java內建的Json包來處理,但我發現這種做法太過於麻煩(相對於我來說^ ^),所以,經過我上網找資料後發現原來google公司同樣的也提供一個類似於javaJson的開發包,並且google將json解析功能都封裝起來,極大的方便資料的傳輸和解析,好了,下面我們就來看一下我做的例子。。。。。做的不好 望大神們別見笑咯~~~~~。

1.要到網上去下載Gson包

2.在你的android工程裡建一個檔案夾libs,將上面的三個jar檔案複製到此檔案夾中

3.右鍵點擊gson-1.7.1.jar 會看到buil path,再點擊add path 載入到android項目中,同樣的web端也做同樣的處理。

好了,下面我們就來編碼了。。

首先是android端的

在一個activity內

在工程裡面的src檔案夾下我只有兩個包(偷懶~~),一個是activity包-用於存放activity,另一個是實體包,用於存放實體類

在User.java內也就兩個屬性,String name int age 還有它們的set和get方法。

接下來是activity內

先聲明各種變數屬性

注意:這裡的額ip地址不能夠用127.0.0.1或者是你原生ip地址,因為android模擬器已經預定了這個ip地址,也就是說127.0.0.1或者原生ip地址屬於android模擬器的ip地址,所以,這裡只能用10.0.2.2

執行個體化個種屬性

至於main.xml的布局檔案也就一個Button按鈕而已

這裡的串連web端的,我是使用httpClient和httpGet等。。。當然,你也可以使用其他的方法去串連 而傳參數我是使用http去傳的。。。

好了 。。。下面我們先來看要從web端傳單個對象怎麼傳給android端

還是在Button監聽類內

這邊是解析web端傳過來的Gson,,我們可以看到一個函數fromJson(),它的作用就是將一個字串json格式字串轉換成一個你指定的對象,這裡轉換為User.class

。。接線來我們看看web端的代碼,我是用servlet和android進行互動的,你也可以使用jsp與android進行互動。。過程都是大同小異.

這裡說一下函數toJson(),此函數與fromJson具有相反的功能,它可以將一個對象轉換成一個Json格式的字串..

好了。。。在web端開啟Tomcat,運行android模擬器,點擊Button 我們就會看到eclisp列印出這樣的結果

對照一下我們先前通過http傳過去的資料

看。。。兩者已經達到互動咯~~~~~。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

好了,下面我們來看看當我們在servlet哪裡串連資料庫獲得對個對象的資料後該怎樣傳給android端呢??

其實過程大同小異。。。。。。

我們現在web端哪裡修改一下

列印出str:

每一個{}內包括的就是一個json對象.....

其他的不變。。。注意跟先前的web端代碼進行區別,。。

我們這裡是將多個對象存到list內,再用toJson方法將list轉換成Json格式的字串

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

而在android端。。。同樣是Buton監聽類內

把原先的注析掉,這裡簡要的說一下TypeToken這個東西,它的作用你可以認為是將Json字串內的每一個對象。。拆分,成批的付給你所指定的對象User,傳回值是一個list<class T>,不瞭解Json對象的話,你們可以去百度搜尋一下,有關json的格式和書寫。。。。。

好了。。啟動模擬器後。。點擊Button就會出現下面的列印

好了。。。。。程式通過。。。。。。。。。。。。。

這篇文章就到這裡。。希望對大家有用。。同時還是那句話。。。希望大神多點點意見。。我只是個小菜鳥~~~~。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.