《Android》『Serializable、Parcelable』- 兩種序列化介面的基本介紹

SerializableParcelable 都是在 Android 中可以使用的一種將資料序列化的介面,在探討序列化之前,首先,我們必須先了解什麼是序列化以及為什麼我們要序列化,以下將針對一些觀念做說明。

 

1. 為什麼要序列化?

當我們在進行 Android 程式開發時,常常會需要將一些資料從一個頁面傳遞給另一個頁面,可能是不同 Activity 或是 Fragment 之間的傳遞,或者是兩個 App 之間傳遞(IPC),通常透過 Intent 的方式,我們只能傳遞基本型別的資料,若想要傳遞的資料是我們自訂的一個類別所產生的物件,這時為了讓資料可以正常的傳遞,就必須將這個資料的類別序列化。

 

2. 什麼是序列化?

序列化的意思就是將一個自訂的資料類別,轉換成可儲存或者是可傳輸的狀態(基本型別)。

 

3. 如何透過序列化傳送自訂的資料類別?

Android 中的 Intent 如果要傳遞自訂的資料類別,可以透過兩種方式,就是將該資料類別實作 Serializable 或是 Parcelable 其中一種序列化介面,兩種介面的目的都是將資料序列化,其中 Serializable 是 Java 自帶的介面,Parcelable 則是 Android 專用的介面。

 

4. Serializable 與 Parcelable 的差異

通常來說 Parcelable 的效能會比 Serializable 快上許多,因為在實作 Serializable 介面時,我們基本上什麼事情都不用做,直接 implement 即可,但在實作 Parcelable 介面時,我們必須額外定義內部資料的轉換方式,另外在實作 IPC 資料傳遞時,亦推薦使用 Parcelable 介面來傳遞自訂的資料類別。

 

之後會分別針對這兩個不同的介面,介紹實際的使用方式。

 

賽肥膩膩

我們是低調到不行的肥膩夫妻檔,一路上一邊吵鬧一邊記錄著生活大小事,偶爾一起暴飲暴食再偶爾一起節食減肥,最沒恆心與毅力但一路走來也持續減肥了好幾次,我們重量不重質,所以完全沒有效果也是理所當然的事。

上 / 下一篇文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料