ASが運営するWebサイトに飛びます

2008年04月09日

[復習]SharedObjectの保存をその場で行うflush()メソッド

SharedObjectの保存をその場で行うflush()メソッドについて解説します。

public function flush(minDiskSpace:int = 0):String

第一引数はSharedObjectに割り当てる必要のある最小ディスク領域 (バイト単位) を指定します。

引数はデフォルトで0です。


flush()メソッドはローカルに作成されたSharedObjectをただちにローカルファイルに書き込みます。このメソッドを使用しない場合、SharedObjectがファイルに書き込まれるのは、SharedObjectセッションの終了時となります。
それはswfファイルが閉じられるときです。
SharedObjectが参照されなくなってガベージコレクションされるとき、SharedObject.clear() または SharedObject.close() が呼び出されたとき、のいずれかの時点になります。

例題

flush()メソッドを使ってmy_soというSharedObjectのデータを保存する(solファイルの生成、更新を行う)


save_btn.addEventListener(MouseEvent.CLICK,saveHandler)

var my_so:SharedObject;


my_so=SharedObject.getLocal("getfordasave02");


var index_ui:uint=20;
//localPath
function saveHandler(evt:Event)
{
//dataプロパティにdata1_numという保存変数を生成しその中にindexuiの値を入れる
trace("セーブされました。flush()を実行します")
my_so.data.data1_num=index_ui;

//SharedObjectのデータ保存を実行します
my_so.flush();
var soStatus_str:String=my_so.flush();
trace("soStatus_str="+soStatus_str)//保存が成功すると「flushed」が返される

}

load_btn.addEventListener(MouseEvent.CLICK,loadHandler)

function loadHandler(evt:MouseEvent)
{

trace("dataプロパティに格納されている、data1_numという変数を参照する"+my_so.data.data1_num)
}

posted by 神風記 at 21:55| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする