亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Activity傳輸數據中如何優雅地進行序列化操作

發布時間:2021-12-21 12:01:28 來源:億速云 閱讀:162 作者:柒染 欄目:大數據

這期內容當中小編將會給大家帶來有關Activity傳輸數據中如何優雅地進行序列化操作,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

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

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

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

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

  • 使用Java提供的Serializable接口

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

  • 使用Android提供的Parcelable接口

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

0x01 Serializable接口

model層 
要通過Intent傳遞的實體類要實現Serializable接口

Activity傳輸數據中如何優雅地進行序列化操作
發送數據

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

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

Activity傳輸數據中如何優雅地進行序列化操作

0x02 JSON字符串

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

Activity傳輸數據中如何優雅地進行序列化操作
發送數據 

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

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

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

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

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

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

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

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

Activity傳輸數據中如何優雅地進行序列化操作  
  Activity傳輸數據中如何優雅地進行序列化操作  
 
發送數據

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

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

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

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

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

上述就是小編為大家分享的Activity傳輸數據中如何優雅地進行序列化操作了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肇庆市| 岳西县| 佛教| 凌云县| 汉阴县| 山阴县| 砚山县| 元谋县| 长宁县| 郯城县| 淮滨县| 上高县| 新民市| 芒康县| 黄石市| 司法| 东安县| 永春县| 西畴县| 霍邱县| 盐源县| 广德县| 丽江市| 苗栗市| 石家庄市| 靖安县| 华亭县| 广宗县| 炎陵县| 大渡口区| 安塞县| 盐山县| 丰台区| 临西县| 班玛县| 榕江县| 云安县| 盘山县| 西乡县| 自贡市| 侯马市|