Activity傳輸數據中如何優(yōu)雅地進行序列化操作

這期內容當中小編將會給大家?guī)碛嘘PActivity傳輸數據中如何優(yōu)雅地進行序列化操作,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司-專業(yè)網站定制、快速模板網站建設、高性價比綏陽網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式綏陽網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋綏陽地區(qū)。費用合理售后完善,10年實體公司更值得信賴。

我們經常需要在Activity之間傳輸數據,傳輸數據有三種方法

  • 使用Intent的putExtra()方法攜帶少量數據來傳輸數據

  • 使用Intent的putExtra()方法攜帶Bundle傳輸數據。不要使用這方法傳輸重要的信息, 因為是明文傳輸。

  • 使用Intent的putExtra()方法攜帶序列化的對象傳輸數據。

而序列化對象也有三種方法

  • 使用Java提供的Serializable接口

  • 使用Gson庫轉為為JSON字符串

  • 使用Android提供的Parcelable接口

下面就介紹這三種方法的使用以及性能的對比。

0x01 Serializable接口

model層 
要通過Intent傳遞的實體類要實現(xiàn)Serializable接口

Activity傳輸數據中如何優(yōu)雅地進行序列化操作
發(fā)送數據

Activity傳輸數據中如何優(yōu)雅地進行序列化操作
接受數據 

調用getSerializableExtra()方法來獲取序列化對象

Activity傳輸數據中如何優(yōu)雅地進行序列化操作

0x02 JSON字符串

model層 
跟平時定義實體類沒有什么區(qū)別

Activity傳輸數據中如何優(yōu)雅地進行序列化操作
發(fā)送數據 

需要使用Gson或者Fastjson第三方的庫,將對象轉化為json數據。 
我在這里使用Gson做示范。

Activity傳輸數據中如何優(yōu)雅地進行序列化操作
接受數據 

同樣也是使用JSON庫把json數據轉化為對象

Activity傳輸數據中如何優(yōu)雅地進行序列化操作
0x03 Parcelable

model層 
要通過Intent傳遞的實體類要實現(xiàn)Parcelable接口 
并且實現(xiàn)兩個方法:

  • describeContents:內容接口描述,默認返回0即可;

  • writeToParcel:將傳遞的數據打包到Parcel容器中; 
    同時,還需要實例化Parcelable.Creator

    接口, 用于從Parcel容器中讀取數據

Activity傳輸數據中如何優(yōu)雅地進行序列化操作  
  Activity傳輸數據中如何優(yōu)雅地進行序列化操作  
 
發(fā)送數據

Activity傳輸數據中如何優(yōu)雅地進行序列化操作
接受數據 

調用getParcelableExtra方法來獲取序列化對象

Activity傳輸數據中如何優(yōu)雅地進行序列化操作
0x04 性能對比

Activity傳輸數據中如何優(yōu)雅地進行序列化操作
從圖片得知,轉化速度的效率: 
Parcelable > Serializable > JSON字符串 
Parcelabled轉化效率很明顯摔了Serializable和JSON字符串好幾條街。

綜上所述: 
要對對象進行序列化,最好使用Parcelable接口

上述就是小編為大家分享的Activity傳輸數據中如何優(yōu)雅地進行序列化操作了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文標題:Activity傳輸數據中如何優(yōu)雅地進行序列化操作
瀏覽地址:http://muchs.cn/article36/ijcopg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化標簽優(yōu)化、移動網站建設、網站設計、網站制作、Google

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網站優(yōu)化