تسلسل كائنات فليكس لحفظ / استعادة الدولة تطبيق

StackOverflow https://stackoverflow.com/questions/603890

  •  03-07-2019
  •  | 
  •  

سؤال

هل من الممكن أن تسلسل هرمي من الكائنات في فليكس، وإرسال البيانات الثنائية إلى URL لتخزين / استرجاع على / من خادم، وإلغاء تسلسل البيانات لاستعادة حالتها الأصلية الكائنات؟

وأنا أعلم أنه من الممكن تحويل الكائنات إلى تنسيق XML (لم يحاكم حتى الآن)، ولكن أنا على أمل لتجنب تحليل XML وإعادة بناء الأجسام يدويا. سيكون من الجميل أن يكون وظيفة التي يمكن أن تسلسل / الأجسام إلغاء تسلسل إلى تنسيق ثنائي بسيط (فعلت شيئا من هذا القبيل في الماضي في جاوة، ولكن ليس تماما بسهولة كما كان بودي). وظيفة "وحدة التقييم" في بيرل تشبه ما أنا أبحث عن، بلا إنقاذ الرمز، بطبيعة الحال.

في الزائفة رمز، وهنا ما أود القيام به:

private var contentToSave:HBox = new HBox();

private function saveState(event:Event):void {
    var toSave:HBox = this.contentToSave;
    var data:? = /* serialize 'toSave' ActionScript classes to binary data*/;
    sendDataToServer(data, filename);
}
private function restoreState(filename):void {
    var data:? = getDataFromServer(filename);
    var savedData:HBox = /* deserialize binary 'data' to ActionScript classes */;
    this.contentToSave = savedData;
}
هل كانت مفيدة؟

المحلول

وحاول حزمة serialization أساس JSON في <لأ href = "http://code.google.com/p/as3corelib/source/browse/#svn/trunk/src/com/adobe/serialization" يختلط = "نوفولو noreferrer "> ascorelib .

<اقتباس فقرة>   

[...] ولكن أنا على أمل لتجنب إعراب XML وإعادة بناء الأجسام يدويا

وAS يعالج XML تماما مثل أي نوع الأصلي الآخرين. اطمئن، لا تشغل بالك. XML هي الطريقة المفضلة للتعامل مع البيانات التي سيتم سحب قبالة ووضع مرة أخرى على الخادم. بطبيعة الحال، فإن ascorelib يمنحك فئة JSON - لذلك قد ترغب في النظر في ذلك أيضا

<اقتباس فقرة>   

وظيفة "وحدة التقييم" في بيرل تشبه ما أنا أبحث عن، بلا إنقاذ الرمز، بطبيعة الحال.

وIIRC، eval هو جزء من مواصفات ECMAScript (وسوف تجد أنه في جافا سكريبت). ولكن ليس في AS3.0. وكان هناك إلى حد ما في بعض الإصدار السابق (ق؟) ولكن لم يعد معتمدا.

نصائح أخرى

ونلقي نظرة على ByteArray .writeObject () . مما يوفر على الكائن الذي تم تمريره في شكل صندوق النقد العربي في صفيف بايت. أنا لم تستخدم هذه الوظيفة كثيرا، وأنا لا أعرف بالضبط ما نوع من الكائنات يمكن أن تسلسل، ولكن بالتأكيد ليس كل شيء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top