「Flashアプリでホームページメンテナンス機能」の続報(またもや「やわらか銀行」特殊の制約にヤラレる)
PCでは動くけど、
やわらか銀行910SHになると途端に動かなくなる。
前回のoctet-streamは、どこにも載ってない
いわゆる「バグ」のようなものでしたが、
今回は明らかに「使えません」って書いてありましたな。
ブログ書き込みタブの内容を生成中です。
画面下のほうに、カテゴリの選択ボタンがあります。
これを押すとですね、現在登録されている
カテゴリがざざざっと出てくるわけです。
で、そもそも
そんなにカテゴリって追加したり変更したりしないでしょ。
だから、変更があった場合だけ、サーバにとりに行きたいわけですよ。
普段は?どっかにとっとけないかな、と。
でも、ActionScriptでゴリゴリ書いちゃうのは、
カテゴリ増えたときに、ソースを直さなきゃいかん。
それはまた面倒なわけ。
さあどうするか。
ActionScriptに「SharedObject」ってのがあるんです。
これって、あどべさんとこにも書いてありますけど、
「webブラウザで作成されたクッキーにデータが蓄積されるのと同様、
クライアントマシン上にデータを保存するために使用するものです。」
簡単に言うと、
一回データ読んだら、アプリケーションを終了しても、どっかで持っててくれる
ってことなんですよ。
これだ!と思いましてね。
SharedObjectが空だったら、サーバへ取りに行く。
空じゃなかったら、そのまま使う。
カテゴリ変更したら、空にすればいい。
// カテゴリのSharedObjectを作成
soCategory = sharedobject.getLocal("categories");
if (soCategory.data.data1 != null) {
// カテゴリのSharedObjectが空じゃない場合は
// 内容をすべて表示する。
test1 = soCategory.data.data1;
test2 = soCategory.data.data2;
} else {
// カテゴリのSharedObjectが空の場合は
// サーバに接続し、SharedObjectにセット。
// そして画面に表示。
getCategories();
}
// SharedObjectのリセット
btnCategoryReset.onRelease = function () {
soCategory.data.data1 = null;
soCategory.data.data2 = null;
}
// 実際にカテゴリを取得するところ。
function getCategories() {
System.useCodepage = true;
test1="";
test2="";
// サーバに接続し、カテゴリ取得。
// 取得した内容はtest1,test2(テキストボックス)に表示される
loadVariables("カテゴリ取得URL",_root);
}
// ブログ編集画面に戻るボタン
// 戻るときにカテゴリをSharedObjectに格納する。
btnRtn.onRelease = function () {
soCategory.data.data1 = test1;
soCategory.data.data2 = test2;
soCategory.flush();
gotoAndStop("editBlog");
}
stop();
まあ動きますよ。PCなら。
あどべさんのモバイル&なんとかかんとかにある
「ソフトバンク携帯電話用 Flash Lite 2.0 CDK」
この中の
SoftBank-RequirementsAndCallerInfo_J.pdfの3ページ。
「SoftBank移動機はFlash Lite共有オブジェクトをサポートしていません。」
終了〜。
代替手段を考えていますが、
さっぱりアイデアが浮かびません。
多分、ActionScriptにゴリゴリ書くことになりそうです。
やわらか銀行910SHになると途端に動かなくなる。
前回のoctet-streamは、どこにも載ってない
いわゆる「バグ」のようなものでしたが、
今回は明らかに「使えません」って書いてありましたな。
ブログ書き込みタブの内容を生成中です。
画面下のほうに、カテゴリの選択ボタンがあります。
これを押すとですね、現在登録されている
カテゴリがざざざっと出てくるわけです。
で、そもそも
そんなにカテゴリって追加したり変更したりしないでしょ。
だから、変更があった場合だけ、サーバにとりに行きたいわけですよ。
普段は?どっかにとっとけないかな、と。
でも、ActionScriptでゴリゴリ書いちゃうのは、
カテゴリ増えたときに、ソースを直さなきゃいかん。
それはまた面倒なわけ。
さあどうするか。
ActionScriptに「SharedObject」ってのがあるんです。
これって、あどべさんとこにも書いてありますけど、
「webブラウザで作成されたクッキーにデータが蓄積されるのと同様、
クライアントマシン上にデータを保存するために使用するものです。」
簡単に言うと、
一回データ読んだら、アプリケーションを終了しても、どっかで持っててくれる
ってことなんですよ。
これだ!と思いましてね。
SharedObjectが空だったら、サーバへ取りに行く。
空じゃなかったら、そのまま使う。
カテゴリ変更したら、空にすればいい。
// カテゴリのSharedObjectを作成
soCategory = sharedobject.getLocal("categories");
if (soCategory.data.data1 != null) {
// カテゴリのSharedObjectが空じゃない場合は
// 内容をすべて表示する。
test1 = soCategory.data.data1;
test2 = soCategory.data.data2;
} else {
// カテゴリのSharedObjectが空の場合は
// サーバに接続し、SharedObjectにセット。
// そして画面に表示。
getCategories();
}
// SharedObjectのリセット
btnCategoryReset.onRelease = function () {
soCategory.data.data1 = null;
soCategory.data.data2 = null;
}
// 実際にカテゴリを取得するところ。
function getCategories() {
System.useCodepage = true;
test1="";
test2="";
// サーバに接続し、カテゴリ取得。
// 取得した内容はtest1,test2(テキストボックス)に表示される
loadVariables("カテゴリ取得URL",_root);
}
// ブログ編集画面に戻るボタン
// 戻るときにカテゴリをSharedObjectに格納する。
btnRtn.onRelease = function () {
soCategory.data.data1 = test1;
soCategory.data.data2 = test2;
soCategory.flush();
gotoAndStop("editBlog");
}
stop();
まあ動きますよ。PCなら。
あどべさんのモバイル&なんとかかんとかにある
「ソフトバンク携帯電話用 Flash Lite 2.0 CDK」
この中の
SoftBank-RequirementsAndCallerInfo_J.pdfの3ページ。
「SoftBank移動機はFlash Lite共有オブジェクトをサポートしていません。」
終了〜。
代替手段を考えていますが、
さっぱりアイデアが浮かびません。
多分、ActionScriptにゴリゴリ書くことになりそうです。
[コメント読む(0)]