Flexでオブジェクトの階層をシリアル化し、バイナリデータをサーバー上の格納/取り出し用のURLに送信し、データを逆シリアル化して、元の状態?Flexオブジェクトをシリアル化してアプリケーション状態を保存/復元する
オブジェクトをXML形式に変換することは可能ですが(まだ試していませんが)、XMLを解析してオブジェクトを手動で再構築することは避けたいと考えています。オブジェクトをシンプルなバイナリ形式にシリアライズ/デシリアライズできる機能を持つことはいいことです(これまでのJavaではこれほど似通ったことはありましたが、私が気に入ったほど簡単ではありませんでした)。 Perlの 'eval'関数は、私が探しているコードに似ていますが、もちろんコードを保存することはありません。
は擬似コードでは、ここで私がやりたいものだ:
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;
}
回答ありがとうございます!私が理解していることを確認するために、HBoxをXMLに変換してサーバーに保存すると、XMLを取得して、HBox(およびすべての子)を解析したり、手動でオブジェクトを実行したりせずにオブジェクトとして復元できます創造? – bedwyr
いいえ、HBoxをXMLに変換するだけではありません。そのために関数を実装する必要があります。私が意味することは、AS3ではXML処理が苦痛であるということでした。 – dirkgently
ああ、そうです。ご協力いただきありがとうございます。 – bedwyr