`
wwww2
  • 浏览: 14005 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

flex与js交互回调,解析JSON数据实现统计,并自动刷新

阅读更多

<?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" width="100%" height="100%"
xmlns:Class="Class.*"
xmlns:amcharts="http://www.amcharts.com/com_internal"
creationComplete="application1_creationCompleteHandler(event)">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[

import com.adobe.serialization.json.*;
import com.adobe.serialization.json.JSON;//corelib.swc包

import flash.filters.DropShadowFilter;

import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.core.FlexGlobals;
import mx.events.FlexEvent;
import mx.rpc.events.ResultEvent;


private var NewtempAC:ArrayCollection;
[Bindable]
private var shadow:DropShadowFilter = new DropShadowFilter(2,45,0,0.5);


//html传参数据
[Bindable]
public var regionTitle:String;
[Bindable]
public var chartType:String;
[Bindable]
public var regionLabel:String;
public var ac:ArrayCollection;
public var Newac:ArrayCollection;
public var tempAC:ArrayCollection;
[Bindable]
private var actool:ArrayCollection;

protected function application1_creationCompleteHandler(event:FlexEvent):void
{

ExternalInterface.addCallback("flexFunctionAlias",asFunc);
var params:String = ExternalInterface.call("sendCommand");
// var params:String =new String('{"y_axis":{"min":0,"colour":"#8D9CAA","grid-colour":"#E2E2E2","max":98,"steps":9,"offset":0},"title":{"text":"test[46.0.98.6] title","style":"font-size:20px; color: #FF00FF;"},"bg_colour":"#FFFFFF","is_decimal_separator_comma":0,"elements":[{"colour":"#F9B73C","text":"单位:无单位","values":[{"colour":"#AF420E","dot-size":3,"value":73,"type":"hollow-dot","tip":"2012年09月07日,00:00:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":75,"type":"hollow-dot","tip":"2012年09月07日,00:01:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":55,"type":"hollow-dot","tip":"2012年09月07日,00:02:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":64,"type":"hollow-dot","tip":"2012年09月07日,00:03:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":93,"type":"hollow-dot","tip":"2012年09月07日,00:04:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":76,"type":"hollow-dot","tip":"2012年09月07日,00:05:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":90,"type":"hollow-dot","tip":"2012年09月07日,00:06:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":48,"type":"hollow-dot","tip":"2012年09月07日,00:07:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":30,"type":"hollow-dot","tip":"2012年09月07日,00:08:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":93,"type":"hollow-dot","tip":"2012年09月07日,00:09:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":36,"type":"hollow-dot","tip":"2012年09月07日,00:10:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":85,"type":"hollow-dot","tip":"2012年09月07日,00:11:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":35,"type":"hollow-dot","tip":"2012年09月07日,00:12:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":39,"type":"hollow-dot","tip":"2012年09月07日,00:13:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":50,"type":"hollow-dot","tip":"2012年09月07日,00:14:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":71,"type":"hollow-dot","tip":"2012年09月07日,00:15:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":11,"type":"hollow-dot","tip":"2012年09月07日,00:16:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":30,"type":"hollow-dot","tip":"2012年09月07日,00:17:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":47,"type":"hollow-dot","tip":"2012年09月07日,00:18:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":34,"type":"hollow-dot","tip":"2012年09月07日,00:19:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":98,"type":"hollow-dot","tip":"2012年09月07日,00:20:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":83,"type":"hollow-dot","tip":"2012年09月07日,00:21:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":7,"type":"hollow-dot","tip":"2012年09月07日,00:22:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":40,"type":"hollow-dot","tip":"2012年09月07日,00:23:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":84,"type":"hollow-dot","tip":"2012年09月07日,00:24:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":29,"type":"hollow-dot","tip":"2012年09月07日,00:25:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":44,"type":"hollow-dot","tip":"2012年09月07日,00:26:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":13,"type":"hollow-dot","tip":"2012年09月07日,00:27:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":47,"type":"hollow-dot","tip":"2012年09月07日,00:28:00<br>#val#"},{"colour":"#AF420E","dot-size":3,"value":76,"type":"hollow-dot","tip":"2012年09月07日,00:29:00<br>#val#"}],"on-show":{"cascade":0.6,"delay":0.5,"type":"shrink-in"},"font-size":12,"alpha":0.35,"type":"line"}]}');
var container:Object = (JSON.decode(params) as Object);
tempAC= new ArrayCollection(container.elements[0].values);
ac=new ArrayCollection();
for each(var elements:Object in tempAC){
var o:Object = new Object();
o["value"] = elements.value;
o["n"]=elements.tip;
o["name"] =elements.tip.split(",")[1].split("<")[0];
o["nam"]=elements.tip.split(",")[0]+elements.tip.split(",")[1].split("<")[0];
ac.addItem(o);
}
actool=ac;
//title
regionTitle=container.elements[0].text;

//label
regionLabel=container.title.text;

vs.selectedChild=vs3;
}

public function asFunc():String {
var Newparams:String = ExternalInterface.call("sendCommand");
var Newcontainer:Object = (JSON.decode(Newparams) as Object);
NewtempAC= new ArrayCollection(Newcontainer.elements[0].values);
Newac=new ArrayCollection();
for each(var elements:Object in NewtempAC){
var o:Object = new Object();
o["value"] = elements.value;
o["n"]=elements.tip;
o["name"] =elements.tip.split(",")[1].split("<")[0];
o["nam"]=elements.tip.split(",")[0]+elements.tip.split(",")[1].split("<")[0];
Newac.addItem(o);
}
actool= Newac;
return Newparams;
}

]]>
</fx:Script>
<s:VGroup width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<s:Label text="{regionLabel}"
fontFamily="宋体" fontSize="20" fontWeight="bold" color="#666666"/>
<s:VGroup width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<amcharts:AmLegend
color="0x000000"
x="45"
y="10"
switchable="false"
dataProvider="{chartLine}"
width="100%"
marginRight="20"
marginLeft="40"
markerType="line"
textClickEnabled="false"
marginBottom="5"/>

<Class:AmSerialChart
id="chartLine" zoomOutText="显示全部"
width="100%" startDuration="1"
height="100%" dataProvider="{actool}"
categoryField="name" angle="30" depth3D="20">

<Class:valueAxes>
<amcharts:ValueAxis dashLength="5"/>
</Class:valueAxes>

<Class:graphs>
<amcharts:AmGraph id="g3" lineColor="#FF6600" valueField="value" title="{regionTitle}"
type="line" dashLength="3" lineThickness="2" bullet="round" filters="{[shadow]}" balloonText="[[nam]] : [[value]]"/>
</Class:graphs>

<Class:categoryAxis>
<amcharts:CategoryAxis gridPosition="start" dashLength="5" id="catAxis" parseDates="false"/>
</Class:categoryAxis>

<Class:chartCursor>
<amcharts:ChartCursor cursorAlpha=".5"/>
</Class:chartCursor>

<Class:chartScrollbar>
<amcharts:ChartScrollbar
hideResizeGrips="false"
backgroundAlpha="0.1" graph="{g3}" />
</Class:chartScrollbar>
</Class:AmSerialChart>
</s:VGroup>


</s:Application>

1
0
分享到:
评论

相关推荐

    Flex与JS交互

    1. **ExternalInterface API**: 这是Flash Player提供的一个接口,允许ActionScript代码调用JavaScript函数,并接收JavaScript的回调。在Flex中,可以使用`flash.external.ExternalInterface`类来使用这个API。例如...

    Flex使用JSON格式与Java通信

    标题中的“Flex使用JSON格式与Java通信”是指在开发富互联网应用程序(Rich Internet Application, RIA)时,采用Adobe Flex作为前端技术...JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    flex 与JS的通信

    通过`addCallback`方法注册回调函数,使JavaScript可以调用Flex中的方法,而`call`方法则用于Flex调用JavaScript函数。 2. **跨域策略**: - 由于安全限制,跨域通信需要在Flash Player的安全策略下进行。通常,...

    Flex4.6-js修正版,之前一版JS无法调用flex,特此纠正

    - 另一方面,Flex也可以监听浏览器的事件,例如通过`ExternalInterface.addCallback('jsFunction', flexFunction)`注册一个回调函数,当JavaScript调用`jsFunction()`时,`flexFunction`会被执行。 4. **错误排查*...

    Flex 与 C# 通讯

    5. **Flex端实现**:在Flex项目中,创建一个LocalConnection实例,设置名称,然后定义连接成功的回调函数。在需要发送数据到C#时,调用send()方法。 6. **C#端实现**:在C# WinForm应用程序中,需要引入对Flash ...

    flex与服务端通信的as封装源码(同步、异步两种方式)

    了解这些知识点后,开发者可以根据提供的源码,结合自己的项目需求,快速实现Flex与服务端的数据交互功能,无论是进行简单的查询还是复杂的业务逻辑处理。同时,也可以学习到如何处理同步和异步通信,以及如何在Flex...

    Flex和服务器端数据通信

    在Flex中,与服务器端进行数据通信是至关重要的,以便实现用户界面与后台数据的实时同步。本篇将详细讨论Flex与服务器之间的数据通信方式,包括HTTPService和Web Service。 1. **HTTPService**: HTTPService是Flex...

    flex用两种方法读取xml文件

    在Flex开发中,XML文件常被用来作为数据存储和传输的格式,因为它结构清晰、易于解析和操作。本文将深入探讨两种在Flex中读取XML文件的方法:HTTPService和URLLoader。 1. 使用HTTPService读取XML文件 HTTPService...

    flex 调用新浪微博接口类库整理

    在调用微博接口之前,确保你已经注册成为新浪开发者,并获得了应用的API密钥(App Key)、应用密钥(App Secret)以及OAuth认证所需的回调URL。这些信息将用于身份验证和授权过程,使得你的Flex应用能够合法地代表...

    天气显示(flex+php)

    5. **Flex数据绑定**:在Flex端,使用DataBinding机制将接收到的数据自动绑定到相应的UI组件上,实现实时更新。例如,将温度数据绑定到Label的text属性,城市名绑定到另一Label等。 6. **用户交互**:添加事件监听...

    Flex过滤DataGrid显示的数据

    `filterFunction`是一个回调函数,用于判断数据项是否应显示在DataGrid中。 此外,Flex还提供了高级过滤功能,如使用FilterCriteria类,可以创建复杂的过滤条件,包括多个条件的逻辑组合。这可以实现更复杂的过滤...

    Flex4 与Java通信,自己也在学习中!

    通过这个"HelloWorld"项目,初学者可以了解Flex4与Java通信的基础,并逐步深入学习更复杂的交互场景,如处理大量数据、优化性能、实现安全通信等。不断实践和探索,将有助于掌握这一技术栈,并在实际项目中游刃有余...

    FlexBuilder与MyEclipse整合心得(java+flex)

    两者之间的交互可以通过事件监听和回调函数实现。例如,当Flex客户端触发一个事件时,可以发送请求到Java服务,服务端处理完成后将结果返回给Flex,更新UI。 为了优化协作和版本控制,你可以将整个项目导入到像Git...

    flex实例HTTPService

    在Flex开发中,HTTPService是ActionScript 3.0中一个关键的组件,它允许开发者与Web服务器进行异步通信,通常用于发送HTTP请求并接收XML、JSON或其他数据格式的响应。本实例将深入探讨如何使用HTTPService,解析返回...

    打印预览(flex)

    5. **打印事件和回调**:Flex的事件模型允许开发者监听打印过程中的事件,如printJobStatusChange事件,以便在打印过程中处理错误或提供反馈。 6. **数据绑定和报表**:在描述中提到了“报表”,在Flex中,可以利用...

    Flex试题 .txt

    在Flex中,它能确保回调在事件队列的末尾执行,避免UI更新和数据处理之间的冲突。 ### 23. 是否使用模块化开发,其优缺点是什么,使用方式及其局限性? 模块化开发在Flex中可以提高代码的可维护性和可重用性。优点...

    flex自定义加载器

    其中,`onLoaderComplete`是加载完成后的回调函数。 2. **自定义加载器** 在Flex中,我们可能需要根据项目需求对Loader进行扩展,创建自定义加载器。这通常涉及到以下方面: - **状态监控**:添加事件监听器来...

    jqGrid 参数详解

    总的来说,jqGrid 提供了丰富的参数和回调机制,能够满足复杂的数据展示和交互需求。在实际应用中,根据项目需求灵活配置这些参数,可以打造出功能强大的数据表格。通过深入学习 jqGrid,你可以更高效地处理和展示...

    amchart1.6

    此外,amchart还提供了丰富的事件监听器和回调函数,使得开发者能够捕捉用户的交互行为,如点击、鼠标悬浮等,从而实现更复杂的业务逻辑。 在性能方面,amchart1.6优化了渲染机制,确保了即使在大数据量下,图表也...

    完整微信小程序demo

    此方法需要指定URL、请求方法(如GET或POST)、数据格式等参数,并通过回调函数处理返回的数据。在示例中,可能会展示如何解析JSON数据并将其绑定到页面元素上。 三、页面排版 微信小程序中的页面布局主要依赖于`....

Global site tag (gtag.js) - Google Analytics