flex学习笔记3HttpService
Flex入门培训

Flex核心机制
3. 手工派发事件: Flex中可以通过dispatchEvent()方法手工派发事件, 所有 UIComponent的子类都可以调用此方法. 语法: 组件对象.dispatchEvent(new Event("event_type"):Boolean 参数event_type是Event对象的type属性. 函数的返回值总是True. 可以使用此方法派发任意事件, 而不仅仅是用户自定义事件, 比如: 可以派发一个Button 的Click事件. var result:Boolean = buttonInstance.dispatchEvent(new Event(MouseEvent.CLICK));在Flex应用中不是必须对新派发的事件进行处理, 如果触 发了一个事件, 而没有对应的Listener时,Flex忽略此事件.
Flex核心机制
绑定机制 Flex绑定机制的原理就是事件,在被Flex绑定的对象上增加了改变事件的监听,一旦某个 被Flex绑定对象改变后,就会分发一个“propertyChange”事件(默认的,也可以改变成 自己定义的事件),在其他组件中,会有propertyChange的事件监听,当捕捉到该事件后, 则会去更新组件的属性并显示。如果想让变量、类、方法的值与组件的值进行绑定,请在这 些对象上加上[Bindable]标记
Flex与Java通信示例
需求:
Flex有一个输入框、按钮和Lable,在输入框中输入信息后点击按钮,可以通过 RemoteObject方法调用java类中的方法。通过该类中的方法对数据进行处理并返回,将处 理后的数据显示在Lable上。
Flex与Java通信示例
.mxml
生编 成译 时
myflex笔记

Flex原理1.事件的原理分为三个阶段:捕获、目标、冒泡事件的起源是跟结点stage 直到发生事件的对象,之后又向相反的方向回到stageStage->obj :捕获阶段寻找obj的过程:目标阶段Obj->stage:冒泡阶段节点:stage->application-> 容器(panel等)->obj;2. data 绑定原理[Bindable(event="propertyChange")]。
(默认的绑定)Flex组件默认监听了propertyChange 事件;3. flex通信原理:3.1过程:通道-》端点-》消息-》服务-》目的地-》适配器3.2 通信的组件:. RemoteObject –远程调用• HTTPService –http代理• WebService –http代理• Producer –消息• Consumer –消息3.3 原理BlazeDS :是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术图解:3.1端点(Endpoint) (在MessageBrokerServlet中实现)。
endpoint,其默认形式是/messagebroker/amf通道类型:amf Channel(速度快)、httpChannel(二进制无压缩的)等消息通过channel传到endPoint ,Channel 和endpoint的编码格式必须一致比如都用amf的3.2. messgeBroker(消息代理人)messgeBroker 将消息根据(destination)服务请求的种类,传给不同的服务,服务再传到对应的服务的destination3.3.Service and destination 类别remoteService->remoteServiceDestination(RomoteObject 对象)->remote-config.xmlhttpproxyService->httpproxyserviceDestination(httpService\webService 对象)->proxy-config.xmlmessageservice->messageDestination(producer\consumer 对象)->message-config.xmldestination:目标其实是一个请求的目标:对于常用的远程方法调用来说,其目标(destination)就是某个特定的java服务,或者某个特定的配置好的Java类对于代理目标来说,则是定义好的代理种类,比如说普通HTTP代理还是基于WebService的代理对于消息目标来说,则是某个特定的消息服务种类3.4.AdapterRemote->javaadapterProxy->httproxyAdaper\soapadaperMessage->jms or as(客户端交换信息)4. flex 配置Flex socket 通信1.DataGrid1.dataGrid 数据的处理itemClick 事件:event:ListEvent;(var grid:DataGrid= event.target as DataGrid)所点击列的表头:grid.columns[event.columnIndex].headerText;列索引:event.columnIndex;行索引:event.rowIndex;选中的行数据:grid.selectedItem选中的单元格数据:grid.selectedItem[grid.columns[e.columnIndex].dataFiled]2. DataGrid 数据的移动方法:grid.removeItemAt;grid.addItemAt;3. Mxml中引入xml文件(利用HTTPService)可以作为dataGrid的数据源实例:<mx:HTTPService id="simpletest"url="assets\photoFood.xml"result="photoColl=stResult.list.food"/>注意:private var photoColl:arrayCollection;或者用监听方式取回结果:Private function onResult(event:ResultEvent):void{This. photocell=event.result.list.food ;}photoFood.xml:<list><food><food_name>Artichoke Dip</food_name><photo>artichokeDip.jpg</photo></food><food><food_name>Bread Pudding</food_name><photo>breadPudding.jpg</photo></food><food><food_name>Cheesecake</food_name><photo>cheesecake.jpg</photo></food></list>4.dataGrid 的itemReader 可以是自定义的任何组件;rendererIsEditor="true" :渲染的组件可以编辑,并且编辑后的值可以返回到datagrideditorDataField="value"(默认为“text”):渲染器要编辑的属性5.ArrayCollection的过滤器:实例:利用combobox控制数据的显示private function myFilter():void{if(this.myCom.selectedItem.toString()=="ALL"){this.reviewList.filterFunction=null;}else{this.reviewList.filterFunction=myFunc;}//refresh() 必须添加的方法this.reviewList.refresh();}//过滤器的筛选规则返回值为boolean,参数为容器的一个对象private function myFunc(item:Object):Boolean{return(item.rating.toString()==this.myCom.selectedItem.toString());}<mx:ComboBox dataProvider="{}" change="myFilter()" id="myCom"/>Private var com:ArrayCollection=new ArrayCollection(["1","2","3","4","5","ALL"]);DataGrid颜色专题总结:1。
flex布局详解

flex布局详解flex布局详解说明flex 布局是CSS3中新增加的⼀套布局⽅案,属于⼀维布局模型。
flex提供了强⼤的空间分布和对齐能⼒。
想要理解和使⽤flex进⾏⽹页布局,需要先来学习和理解下⾯的⼏个概念:flex的两根轴线: 主轴和交叉轴flex容器和flex⼦元素基本概念的解释flex的两根轴线当使⽤flex进⾏布局的时候,⾸先需要了解的,就是flex的两根轴线:主轴和交叉轴。
为什么⼀定要理解这两个轴线呢,因为所有的flex属性都和这两根轴线有关系。
⼀般来说,元素在容器内部排列的顺序都是按照从左向右的顺序来进⾏排列的,⽽在flex中,决定元素排列的是主轴。
默认情况下flex中主轴上的元素排列⽅式和⾮flex情况下是⼀样的。
flex的特性,就是元素沿着主轴或者交叉轴进⾏排列。
flex容器和flex⼦元素想要使⽤flex布局⽅案,需要在容器属性上使⽤display:flex或者display:inline-flex。
⽽⼀旦设置了任意⼀个属性,那么这个标签就变成了flex容器,也可以称之为是弹性容器。
⽽相对应的,容器当中的⼦元素就变成了flex⼦元素也就是弹性⼦元素。
flex 的相应属性分类想要更⾼的学习和使⽤flex布局,需要了解flex中包含的属性。
⼀般来说,flex的属性可以分成两类:flex容器属性(flex-container)flex⼦元素属性(flex-item)所谓的flex容器属性就是将属性设置在flex容器上,⽽flex⼦元素则是将属性设置在⼦元素的⾝上。
flex容器属性flex-direction通过flex-direction属性,可以设置主轴的⽅向,它包括下⾯的⼏个值:row(默认值): 主轴为⽔平⽅向,项⽬排列起点在左端。
row-reverse: 主轴为⽔平⽅向,起点在右端。
column: 主轴为垂直⽅向,起点在上沿。
column-reverse: 主轴为垂直⽅向,起点在下沿。
Flex中文帮助第1-2章.pdf-

译者声明1.请大家在转载和使用时保持本文的完整性。
2.本文所有资料均来自Flex官方文档,其英文版权归Adobe公司所有。
3. 文中某些内容根据译者的理解稍作改动,因此与原版英文在文字上不完全一致。
同时,由于译者水平有限,翻译不妥之处请大家多多见谅。
重庆大坪刘刚第一章Flex是如何工作的该部分文档的内容是为用户提供关于Adobe®Flex 工作机制的一个快速综述。
通过本章节的学习,你可以创建你的第一个Flex 应用程序,并将它与你以前所熟悉的Web开发技术进行比较,以领会Flex的内涵和精髓。
第一节构建并运行Flex应用程序Flex是一个提供开发设计和运行支持的架构,它可以使开发人员创建利用Adobe® Flash® Player 9作为前台的“富客户端互联网应用程序/rich Internet applications/RIA”,以满足用户更为直观和极具交互性的在线体验。
开发Flex应用程序的典型步骤如下(通常是这样):1. 选取一系列预先定制好的、用于设计应用程序界面的组件(如表格、按钮等等)2. 布置组件以设计用户界面。
3. 使用样式和主题来增强视觉方面的设计。
4. 添加动态行为(例如程序部件之间的相互作用)。
5. 定义并连接所需的数据库服务。
6. 将源代码编译成SWF文件,然后在Flash Player中运行。
一个典型的Flex应用程序包括如下元素:1. Flex frameworkAdobe® Flex 2 framework包含了创建RIA所需要的所有组件,它们是:用于应用程序布局规划的容器;针对用户界面和从用户处获取数据的控制(例如文本框和按钮);广泛支持的数据绑定、数据格式化、以及有效值验证;事件驱动的开发模式。
Flex framework被包含在公用组件库(SWC)文件中。
2. MXML每个Flex应用程序至少包含有一个MXML文件,它被作为该程序的主文件。
Flex学习大全

1.1 Flex可视化组件开发-1
mx.,collections.ICollectionView接口和mx.collections.IList接口 2.3.2 Flex集合类特征
2.3.2.1 确保数据源更改后数据及时更新. 2.3.2.2 提供了运行远程数据源的分页机制. 2.3.2.3 提供了数据源中的数据操作,可以通过index修改数据源中的数据,而不用关心数据源的具体实现,如 Array和XML 2.3.2.4 支持单独数据集合作为多个可视化组件的数据源.(一个ArrayCollection可以显示在多个组件中); 2.3.2.5 使用集合类的方法可以访问数据源中的数据.(如,可以访问sql,mysql,db2,oralce,access,sybase) 2.3.3 Flex可视化组件均支持dataProvider属性: 2.3.3.1 例:
1.1 Flex可视化组件开发-1
2.5 容器组件,可视化组件的结合形式 <mx:Application xmlns:mx="/2006/mxml" layout="absolute">
最好的特点分析和flex3和flex4版本比

flex4 读书笔记chapter 3,最好的特点分析和flex3和flex4版本比较学习教程2011-06-01 18:11:30| 分类:flex | 标签:|字号大中小订阅源地址:/selina_1113/blog/item/20030438084a3bf814cecbc9.html1、默认情况下,swf文件只能向swf文件所在的域提出http或其它网络请求。
如果要仿问swf文件所在的不同的域,即要在目标域的根目录中放置一个crossdomain.xml文件,设置当前服务器接受的域。
2、mxmlc可以把mxml、as、swc、rsl等文件打包成一个swf文件,而compc可以把mxml、as等编译成swc或rsl文件。
3、部署文件时,请确保rsl等资源文件是否存在于服务器中以及swf文件指向的rsl的路径。
4、flashbuilder使用swfobject2类库把swf放在html中。
5、在网络安全沙箱内,flash除了ShareObjects外,不能访问本地的磁盘及资源。
在得不到用户允许的情况下,不能从摄像头或耳麦中获取信息并发送到网络。
6、swf只能访问网络或本地资源两种中的一种。
也就是说要么你把swf设置为只能访问网络,要么把swf设置为只能访问本地资源。
设置的选项为编译时的use-network=true/false。
默认为true。
7、flex只持基于组件的开发模型。
常规的开发方法是先扩展一些基本的UI组件并把你需要的功能封装在上面,然后再在UI中组装起来。
8、在开发过程中,你会使用自已开发的自定义组件或外部的自定义组件。
默认情况下flashbuilder 在项目src及其子目录下寻找自定义组件。
如果你需要使用别的地方的自定义组件,你可以设置source path。
flashbuilder除了在src目录下寻找组件外,还会在source path下寻找自定义组件寻找的顺序按source path顺序寻找。
Bison-Flex笔记

Bison-Flex笔记Bison-Flex 笔记FLEX什么是 FLEX ,它是一个自动化工具,可以按照定义好的规则自动生成一个 C 函数 yylex() ,也成为扫描器( Scanner )。
这个 C 函数把文本串作为输入,按照定义好的规则分析文本串中的字符,找到符合规则的一些字符序列后,就执行在规则中定义好的动作( Action )。
例如在规则中可以这样定义:如果遇到一个换行字符 \n ,那么就把行计数器的值加一。
Flex 文件就是一个文本文件,内容包括定义好的一系列词法规则。
文件的命名习惯上以小写字母 l(L) 来作为文件后缀。
如果为了清晰,也可以用 .flx 或者 .flex 作为文件的后缀名。
Flex 文件完成后,就执行下列命令: $ flex example.flex这个命令执行后将生成一个 C 文件,默认文件名为 lex.yy.c 。
这个 C 文件主要内容就是函数 yylex() 的定义。
如果要直接将这个文件编译成为一个可执行程序,还有一些要注意的地方。
如果在 Flex 文件中没有提供 main() 函数的定义,那么这个 C 文件中不会有main() 函数。
此时单独编译这个 C 文件的时候,一定要加上 -lfl 的连接库参数;若提供了 main() 函数,就不必要提供这个连接库参数了。
连接库 libfl 提供了一个缺省的 main 函数。
缺省的 main() 函数中只是简单地调用 yyflex() 函数,而自己提供的 main() 函数则可以根据需要加入许多其他的处理代码。
Flex 文件词法规范定义文件给出了单词构成规则。
词法文件在习惯上用字母 l( 即 L 的小写 ) 来作为后缀。
Flex 文件由三个部分组成。
或者说三个段。
三个段之间用两个 %% 分隔。
定义段 (definitions)%%规则段 (rules)%%用户代码段 (user code)定义段 (definitions section)定义段包含着一些简单名字的定义 (name definitions) ,旨在简化扫描器的规范。
Flex完全自学入门手册

Flex入门教程编写日期:2009-02作者:Dason 主要讲3个主题:1.Flex是什么,用途和前景;2.Flex Builder基础;3.MXML基础;现在进入第1个主题:首先我们要明白,flex不是专门用来做网页的,它主要是用来做RIAs的RIAs=Rich Internet Applications富英特网应用程序Flex现在虽然是2.0,以前是1.0和1.5,但是不要担心1.0和1.5版本自己没有用过,因为2.0版本才是Flex真正的开始,首先,Flex2.0的技术基础很高,采用Action Script3.0为编程核心,以FlashPlayer9.0为平台它与以前版本的区别是FlashPlayer9.0采用全新的虚拟机,运行速度是8.0的10倍以上Flash8.0和Flex1.0,1.5,都是Action Script2.0用的FlashPlayer8.0,在性能上,跟Flex2.0的Action Script3.0和FlashPlayer9.0相差太远了我们现在处于RIAs浏览器时代,意思是,我们用Flex做的程序,必须要用浏览器打开,以网页的形式发布,明年,我们将步入下一个RIAs时代――桌面RIAs时代,我们现在所有用flex2.0做的程序,明年都可以被重新发布成桌面应用程序,就跟我们现在用的软件是一样了,到时候,我们的程序不再被浏览器限制了,flex能做的程序很多,比如QQ这样的即时聊天软件、论坛、股票软件、网络视频聊天、等等。
你能想到的基本都能做出来,Flex的前景是一片明朗的,而且越往后越会被广泛采用,这一切都从Flex2.0开始,所以,对于我们来说,这是个前所未有的好机会。
现在学flex的人很少很少,如果你等到他已经大面积普及,那就没有竞争力了。
好,现在提问时间,马上要进入下一主题:Flex是纯面向对象语言,C是面向过程语言,ActionScript3.0相对2.0,改动太大了,如果有2.0基础,对3.0帮助不大,所以,如果你第一次接触的就是3.0,也不要紧,3.0删除了很多2.0的东西,而且增加了很多新类,3.0跟JAVA基本没什么区别了,所以,有JAVA基础的人,学起来更快。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flex学习笔记3之HttpService与DataGrid
1.Flex中对于通过HttpService来进行数据通信进行了良好的封装。
2.下面用一个例子来解释Flex中对于HttpService是如何应用的。
3.Demo4
注意:这里的employees.xml只是模拟一个远程客户端调用的过程。
文件内容如下:
5.下面启用Flex的debug模式来执行调试。
程序调试界面
发现了原来在FlexDemo4.mxml文件
Result下面发现了Flex已经读取了employees.xml的所有内容
备注:实质上是将xml的信息存放到了一个集合中。
6.补充:将xml结果输出到DataGrid中
将会用到这个标签
执行程序后的结果。
7.小结
(1)ObjectProxy类
继承自Proxy- Object
该类提供跟踪对此代理管理的项目进行的更改的功能。
任意数量的对象都可通过使用addEventListener()方法“侦听”对该对象的更改。
于此同时employeesService其实是这个类mx.rpc.http.mxml.HTTPService
(2)HttpService类
在MXML 文件中使用<mx:HTTPService>标签代表HTTPService 对象。
当调用HTTPService 对象的send()方法时,将发出对指定URL 的HTTP 请求,并且返回HTTP 响应。
可以选择向指定URL 传递参数。
如果没有使用基于服务器的代理服务,则只能使用HTTP GET 或POST 方法。
如果将useProxy 属性设置为true 并使用基于服务器的代理服务,则还可以使用HTTP HEAD、OPTIONS、TRACE 和DELETE 方法。
(3)ArrayCollection类
ArrayCollection 类是将Array 公开为集合的封装类,可使用ICollectionView或IList接口的方法和属性进行访问和处理。
对ArrayCollection 实例进行操作会修改数据源;例如,如果对ArrayCollection 使用removeItemAt()方法,就会删除基础Array 中的项目。