آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مفهوم و کاربرد مبحث Serialization

Spirit  12 سال پیش  12 سال پیش
+3 0

Serialization  -  پیشاپیش از پاسخ دهندگان ممنونم.

0 0
سلام ممنون از شما این سوال منم بود و همچنین استفاده از اینترفیس parcelable (12 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
محمد حسین زاده  12 سال پیش
+12 0

سریالایز کردن به معنی تبدیل یه شیء و دیتای اون به دیتای باینری متناظرش و دیسریالایز کردن واکشی آبجکت و دیتاش از همون منبع باینریه.

حالا به چه کاری میاد؟

فرض کن یه کتاب نوشتی و میخوای رفتار کاربر رو براش داشته باشی. مثلا آخرین خط خونده شده! یا هر نوع تنظیمات یا هر آبجکتی که به همراه دیتاش نیاز داری نگهش داری

یه کلاس با فیلد های مورد نیاز میسازی و اینترفیس Serializable رو پیاده سازی میکنی.

public class SerializationSample implements Serializable {

private int lastLine= 0;

}

حالا این آبجکت قابل سریالایز کردنه. میشه تبدیل به byte[] بشه و تو فیلد blob دیتابیس ذخیره بشه - میتونه تو یه فایل باینری رایت بشه یا هر جای دیگه

SerializationSample instance = new SerializationSample();

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("o.ser")));
oos.writeObject( instance );
oos.close();

و هر زمان که لازم باشه میتونی اونو به آبجکت اولیه برگردونی :

ObjectInputStream oos = new ObjectInputStream(new FileInputStream(  new File("o.ser")) ) ;
SerializationSample SS = (SearializationSample) oos.readObject();

حالا اینهمه راه برای نگهداری یه کلاس با تمام اطلاعاتش. اصلا اندروید خودش مکانیزم به این باحالی واسه نگهداری تنظیمات داره. این به چه کار میاد؟

اینم یه راه امن تره و اتنخابش به سناریوی پروژه بستگی داره

+1 0
عالی بود ، یعنی بهتر از این نمیشد :) ، راستش استفاده از این مبحث رو توی یه فیلمی دیده بودم قبلا ، الان فهمیدم طرف چیکار میکنه D: (12 سال پیش)
0 0
ممنون توضیحات خیلی خوبی بود :) (12 سال پیش)
+1 0
طبق بررسیم و گفته ها در اندروید بهتره از Parcelable استفاده کنیم لینک (12 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .