`
strugglesMen
  • 浏览: 111535 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

实时数据更新

阅读更多

使用HTTPService来时实现数据的实时更新,数据源使用的是xml文件,然后使用ENTER_FRAME事件重复执行

 

 

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
			   creationComplete="creationComplete()" >
	<s:layout>
		<s:BasicLayout/>
	</s:layout>
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
			import mx.rpc.http.HTTPService;
			public var service:HTTPService = new HTTPService();
			
			public function SetVisits():void
			{
				service.url = "Province.xml";
				service.method = "post";
				service.resultFormat = "e4x"; 
				service.addEventListener(ResultEvent.RESULT, xmlLoaded);
				service.addEventListener(FaultEvent.FAULT,xmlError);
				service.send();
			}
			
			//HTTPService正确时执行的方法
			public function xmlLoaded(e:ResultEvent):void
			{
				var xml:XML = service.lastResult as XML;
				textarea1.text = xml.toString();
			}
			
			//HTTPService异常时执行的方法
			public function xmlError(e:FaultEvent):void
			{
				trace("出现异常");
			}
			//实时数据更新,ENTER_FRAME
			public function creationComplete():void
			{
				this.addEventListener(Event.ENTER_FRAME,function():void{
					SetVisits();
				});
			}

		]]>
	</fx:Script>
	<s:TextArea x="10" y="10" width="250" height="550" id="textarea1"/>
</s:Application>

 

 

Province.xml文件

 

 

<?xml version="1.0" encoding="UTF-8"?>
<main>
  <province>
    <name>湖南</name>
    <visits>2</visits>
  </province>
  <province>
    <name>湖北</name>
    <visits>43</visits>
  </province>
  <province>
    <name>江西</name>
    <visits>2</visits>
  </province>
  <province>
    <name>浙江</name>
    <visits>43</visits>
  </province>
  <province>
    <name>安徽</name>
    <visits>2</visits>
  </province>
  <province>
    <name>江苏</name>
    <visits>43</visits>
  </province>
</main>

 

效果图,当修改xml文档时对应的flash界面的数据也发生了变化

 

 

 

 

 

 

 

 

 

 

0
3
分享到:
评论
2 楼 strugglesMen 2011-04-27  
是的。这种方法是不可行的,很影响性能。只是作为一个案例参考
1 楼 qq123zhz 2011-04-27  
你这类似轮询。。。。。。。如果要轮询的话,直接用blazeds。。。。

相关推荐

Global site tag (gtag.js) - Google Analytics