اگر کمی اندروید دولوپ کرده باشید، احتمالا این اسمها برایتان آشنا هستند. در این مقاله کمی درباره این دو اینترفیس به ظاهر مشابه صحبت و تفاوتهای آنها را بررسی میکنیم.
هر دو این اینترفیسها برای خواندن و نوشتن اطلاعات روی دیسک استفاده میشوند و به عبارت دیگر مکانیزم ذخیره و بازیابی آبجکتها روی حافظه هستند.
در ادامه بیشتر درباره هریک و جزئیاتشان بحث می کنیم.
یک اینترفیس خالی بدون هیچ متدی است و در واقع یک Marker Interface است.
برای استفاده از این قابلیت جاوا تنها کاری که لازم است انجام دهیم آن است که کلاس موردنظر Serializable را ایمپلمنت کند.
کلاسی که این اینترفیس را ایمپلمنت میکند، از این نوع Serializable خواهد شد و می تواند سریال یا دیسریال شود.
در کلاس Person میبینیم که این کلاس Serialize را ایمپلمنت کرده است:
و به صورت زیر آبجکتهایی از Person را ذخیره و بازیابی میکنیم:
این اینترفیس فقط یک Marker Interface نیست و استفاده از ان هم به راحتی استفاده از Serializable نیست. Parcelable از پکیجهای اندروید است و به صورت تخصصی برای خواندن و نوشتن اطلاعات نوشته شده است.
برای آنکه یک کلاس Parcelable شود، علاوه بر آنکه اینترفیس Parcelable را ایمپلمنت میکند باید مقداری کد اضافهتر هم داشته باشد.
یک کلاس ساده که از این اینترفیس استفاده میکند، به صورت زیر است:
و برای استفاده از آن به صورت زیر عمل میکنیم:
اگر دوست داشتید بیشتر درباره Serializableها بدونید، میتونید فصل ۱۱ کتاب EffectiveJava رو بخونید.
این مقاله در اینجا تمام نمیشود، با اشتیاق منتظر شنیدن نظراتتون هستم ♥.
https://android.jlelse.eu/parcelable-vs-serializable-6a2556d51538
https://stackoverflow.com/questions/3323074/android-difference-between-parcelable-and-serializable