DFdou's Blog Life is short,Be yourself.

1505/090

AAS3WDP-Chapter 6 Remote Proxy 远程代理

这里是一个Flickr的远程图片搜索代理实例,对了,Flickr的远程图片搜索需要申请API,别忘了去申请一个。
代码部分,类PhotoSearchProxy.as:

package{
	import flash.events.DataEvent;
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.net.URLLoader;
	import flash.net.URLRequest;

	public class PhotoSearchProxy extends EventDispatcher{
		private static const API_KEY:String="c4643072bfc38caa0257f4c039624cb5";//这是我的Flickr Api_key
		private static const FLICKR_URL:String="http://api.flickr.com/services/rest/";//Flickr的api地址

		public function PhotoSearchProxy(){}
		private function onComplete(_evt:Event):void{
			dispatchEvent(new DataEvent(Event.COMPLETE,false,false,XML(_evt.target.data)));
		}
		public function search(userId:String,tags:String):void{
			var loader:URLLoader=new URLLoader();
			var request:URLRequest=new URLRequest(PhotoSearchProxy.FLICKR_URL+"?method=flickr.photos.search&user_id="+userId+"&tags="+tags+"&api_key="+PhotoSearchProxy.API_KEY);
			loader.addEventListener(Event.COMPLETE,onComplete);
			loader.load(request);
		}
	}
}

在loader载入request之后dispatchEvent一个DataEvent。
具体调用部分:

import PhotoSearchProxy;
var flickr:PhotoSearchProxy=new PhotoSearchProxy();
flickr.addEventListener(Event.COMPLETE,onComplete);
flickr.search("","yellow");
function onComplete(_evt:DataEvent){
	trace(_evt.data);
}

实际化PhotoSearchProxy之后,调用search方法,load完之后接收dispatchEvent的DataEvent的data并trace。
记得以前看过的一个AIR的RSS阅读器也是这样做的,写了个EventDispatcher的子类,载入RSS源地址后dispatchEvent。。。

Some Related Posts

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

:zhuang :xizao :wuwu :wenhao :wc :touxiang :shuaya :shuajian :shengtian :paopao :no :meinv :maonv :loveu :leilei :kua :jrjr :dahan :chi :chaocai :byebye


CommentLuv Enabled

No trackbacks yet.