Hatena::ブログ(Diary)

うたちゃく!開発ブログ(febのプログラミング備忘録)

Twitter

2010-06-18

Flex・RemoteObject用のユーティリティクラス

| 17:40

「WEBあしか」にて実際に使っている通信用のライブラリ"RemoteUtil"を公開してみます。

RemoteUtilソースファイル(github)

RemoteUtilとは?

RemoteUtilとは、Flexライブラリの一つである"RemoteObject"をラップし、さらにつかいやすくしたライブラリです。

RemoteUtilには以下の特徴があります。

  • ResultイベントとFaultイベントを毎回設定する必要がない
    • RemoteObjectを使う際、ResultイベントとFaultイベントを毎回設定するのはとても面倒です。ですがRemoteUtilではライブラリ内で一元的にRemoteObjectにResult・Faultイベントを設定しているため、毎回設定する必要はありません。
    • またdebugフラグをONにしている場合、FaultイベントのエラーメッセージがAlertで表示されるようになっているため、デバックも楽に行えます。
  • リトライ処理を簡単に実装可能!
    • 不安定なサーバーとの間で通信を行う場合、確実に通信をするために、失敗時にリトライ処理を行うのはもっともオーソドックスな手段です。ですが実際に実装しようとすると、全ての通信処理でリトライ処理を実装するのは中々骨の折れる作業となります。そんなときでもRemoteUtilを使えば簡単にリトライ処理を実装することができます。

ではここで実際の使用例を記載していきます。

  • 基本となる使用例
var data:Object = null;
var remoteUtil:RemoteUtil = new RemoteUtil('destinationIDをここに指定');
remoteUtil.resultEvent = function (event:ResultEvent):void {
	// 通信成功時の処理
	// thisからRemoteUtilのプロパティにアクセスすることができます。
	data = event.result; // データの取得例
};
remoteUtil.faultEvent = function ():void {
	// 通信失敗時の処理
}
remoteUtil.remoteEvent = function ():void {
	// RemoteObject処理
	// イベント内のthis.remoteでRemoteObjectにアクセスできます
	this.remote.getData();
};
// 通信の開始(remoteEventプロパティに設定したイベントが実行されます)
remoteUtil.start();

上記例では各イベント処理を設定していますが、remoteEvent以外のイベントは必須ではありませんので設定しなくても問題ないです。


上記例と合わせて記述することで複雑な処理を実行させることが可能です。

// ※いずれのオプションもstartメソッドを実行する前に設定してください。

// 通信の結果として返ってきた値がnullもしくは空文字だった場合にエラーを表示することが出来ます。
remoteUtil.showResultErrorMessage = true;
remoteUtil.resultErrorMessage = "データの取得ができませんでした。\nページをリロードして再度表示してみてください。";
// retryプロパティをtrueに設定すると、通信の失敗時に自動的にリトライ処理が行われます。
// リトライの回数はretryNumで設定することができます。
remoteUtil.retry = true;
remoteUtil.retryNum = 3;

この他のオプションに関しては、ソース内にて解説していますのでそちらをご覧ください。

2010-04-11

うたちゃく!更新情報

| 01:41

更新内容

  • CD詳細ページに、関連するYouTubeの動画を表示するようにしました。

2010-04-10

うたちゃく!更新情報

| 21:43

更新内容

  • CD詳細ページに「最近このCDを登録したユーザー」の項目を追加しました。
  • アーティスト詳細ページに「最近このアーティストを登録したユーザー」の項目を追加しました。

2010-03-28

うたちゃく!更新情報

| 02:50

更新内容

  • CD詳細ページに曲目リストを表示するようにしました。
  • 「ユーザーページ」の呼称を「マイページ」に変更しました。

2010-03-27

うたちゃく!更新情報

| 00:10

トップページの表示項目などを追加しました。

更新内容

  • トップページに「所有登録数の多いユーザー」を表示するようにしました。
  • CD・アーティスト検索時にオートコンプリートが表示されるようにしました。
  • 要望・バグ報告フォームに「要望・バグの区分」の項目を追加しました。