トップ > Flash Lite 2.0 / 3.0 > FL3.0 で共有オブジェクト(SharedObject)を試してみた

FL3.0 で共有オブジェクト(SharedObject)を試してみた

Flash Lite 3.0 をもうそろそろ検証しておこうかなと思い、とりあえずは気になっていた共有オブジェクトを試してみることに。

ただ、NTT docomo サイトで Flash Lite共有オブジェクトの情報を確認すると、

ブラウザ終了時にキャッシュの削除とあわせて、Flash Lite共有オブジェクト領域も削除されます。

このような記述があるので、せっかくの共有オブジェクトも使いどころが限られそうな予感…( ̄- ̄ 3)

準備 - CDK をダウンロード

ただ、NTT docomo の共有オブジェクトを利用する際には、予め Adobe サイトのデベロッパーセンターから Flash Lite 3.0 対応 NTT DoCoMo 携帯電話用 Adobe Flash CDK をダウンロード&インストールする必要があるようだ(汗

「Flash Lite 3.0 対応 NTT DoCoMo 携帯電話用 Adobe Flash CDK をダウンロード」のリンク部分でダウンロード可能。

準備 - CDK をインストール

上記のファイルを解凍すると、中に「モバイルメタデータ.swf」というファイルが入っている。

このファイルを各OSに対応する場所に格納させる。

Windows Vista PC の場合
.../Users/[ユーザ]/AppData/Local/Adobe/Flash CS3/ja/Configuration/WindowsSWF
Windows XP PC の場合
.../Documents and Settings/[ユーザ]/Local Settings/Application Data/Adobe/Flash CS3/ja/Configuration/WindowsSWF
Apple Mac の場合
.../Users/[ユーザ]/Library/Application Support/Adobe/Flash CS3/ja/Configuration/WindowsSWF

これで一通りの準備が完了!

ストレージ・サイズを設定する

準備が完了したら、Flash を立ち上げ Fla ファイルを開き、「ウインドウ」→「他のパネル」→「モバイルメタデータ」を選択すると下記のようなパネルが出現。

この「ストレージ・サイズ」という部分に 1~10 までの整数を設定する。

ストレージ・サイズを設定すると、NTT docomo 機種で共有オブジェクトが利用できるようになる。

しかし、なかなか面倒なもんだね…(汗

共有オブジェクトのサンプルコンテンツ

んで、とりあえず作成したサンプルがこれ。Flash Lite 3.0 対応機種じゃないと正常に見れないけども…(汗

いろいろ試してみると下記のような感じだった。
※SH905i で検証

  • ブラウザを終了して再度サンプルを開く⇒共有オブジェクトは初期状態に
  • ページを更新⇒共有オブジェクトは残っている
  • HTMLページに遷移した後、再度サンプルへ戻る⇒共有オブジェクトは残っている
  • 別のSWFコンテンツに遷移した後、再度サンプルへ戻る⇒共有オブジェクトは残っている
  • 画面メモに保存⇒共有オブジェクトは残っている
  • 画像で保存⇒共有オブジェクトは無効になる

確かにブラウザを終了すると削除されるようで初期状態に戻ってしまう。画面メモで保存すると共有オブジェクトは残るのだけども、待ち受け時には共有オブジェクトが読み込まれない感じ…。個人的に携帯を使いこなしているわけではないので、もしかすると何か別の方法で待ち受けに適用させることもできるのかもしれないが…(汗

あと詳しい説明は割愛するが、該当部分のコードはこんな感じ。まぁ、CDK の中にもサンプルファイルがあるんで参考にすると良いかもしれない。


function initSo():Void {
	//共有オブジェクトが実装されているかを確認
	if (System.capabilities.hasSharedObjects) {
		//リスナー設定
		SharedObject.addListener("testObject", loadCompleteSo);
		//共有オブジェクトの参照
		sObj = SharedObject.getLocal("testObject");
		//状況表示
		infoTxt.text = "共有オブジェクト - 参照中";
	} else {
		//状況表示
		infoTxt.text = "共有オブジェクト - 使用不可";
	}
}
//ロード完了
function loadCompleteSo(so:SharedObject):Void {
	//状況表示
	infoTxt.text = "共有オブジェクト - ロード完了\n";
	infoTxt.text += "size:" + so.getSize() + " / data:" + sObj.data.No;
	//データ読み込み
	if (so.getSize() == 0) {
		saveSoData(0);
		noTxt.text = "0";
	} else {
		noTxt.text = sObj.data.No;
	}
	//ボタン処理開始
	initTestBtn();
}
//書き込み
function saveSoData(va):Void {
	sObj.data.No = va;
	sObj.flush();
}

この記事をブックマークしておく

コメント:0

コメント投稿

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

この情報を記憶する

トップ > Flash Lite 2.0 / 3.0 > FL3.0 で共有オブジェクト(SharedObject)を試してみた

記事検索
カテゴリ
RSSフィード

このページの先頭へ戻る