Flex_大师之路学习笔记

Flex_大师之路学习笔记


flash 的三种运行环境flash player air flash lite企业有年会,其实我的家庭也应该有年会。
像理企业一样理家庭!
在企业里工作不好,我觉得在家里很可能是一样的!
swf文件在html中的MIME类型是application/x-shockwave-flash
swf文件可以加载的文件格式内容有mp3 GIF PNG FLV XML 
flex 核心 swc文件datavisualization.swc         所有的charting组件
datavisualization_rb.swc    图表组件需要的绑定资源
rpc.swc                            rpc服务:soap rso rest-style
rpc_rb.swc                       数据服务所需要的资源绑定
fds.swc                            只供LiveCycle Data Service 的开发者使用
fds_rb.swc                       上面那功能所需要的资源
flex.swc                           flex框架
framework.swc                 flex框架中的所有组件
framework_rb.swc            flex框架中的所有组件所需要的资源
playerglobal.swc               Flash 类库 flash.utils flash.net flash的基本数据!

playerglobal.swc要能自己安装

f3

alt + /

ctrl O

ctrl shift G

ctrl /

ctrl shift p 

-keep-generated-actionscript 

flex中三种调用as的方式内联方式
标签内联
<mx:Script>

事件旅程并不包括从根节点Stage对象到发生事件的对象之间的所有节点,而只涉及发生事件的对象本身和它的父容器。

preinitialize 
                  preinitialize
                  initiallize
initalize    
                  creationComplete
                  updateComplete
creationComplete
updateComplete

最终是applicationComplete


利用[Event]元数据,开发者可以为组件定义事件。编译器能够把这些自定义的事件识别为MXML标签属性

Event的子类里的构造函数应该如何写!?

实验:红绿灯,这个要反复去默写
1.LightConsole里面用metadata给其自身定义一个event
2.在主文件里,当LightConsole触发了event的时候,侦听器要有一个参数event.这个不会,不懂,为什么。

共400页
8小时
还有300页
100页 三个小时
有两帧 第一帧负g责初始化,包含了SystemManager Preloader DownloadProgressBar 和一些帮助类.当SWF的所有内容下载完毕,SystemManager会触发enterFrame事件,进入第二帧,并触发其它一系列启动序列事件,最终完成mx.core.Application实例.
enterFrame事件会以帧频不断触发,因此Flash Player会不断重画第二帧
第二帧,则是真正要执行的应用,包含了flex应用的代码,字体等嵌入资源。

绑定方式有两种1.使用{}
2.使用<mx:Binding source=“src.text” destination="destination.text"/>

组件分为三大类container navigators controls
容器有哪些HBox VBox Canvas Panel Form Tile Grid TitleWindow ControlBar
导航有哪些NavBar: LinkBar ButttonBar ToggleButtonBar TabBar
menu:  MenuBar
堆叠类: Accordian ViewStack TabNavigator
要去下载那个本地版本的explorer.
或者从我的本地找!
工具控件文本类:Label Text TextInput TextArea RichTextEditor
按钮类: Button RadioButton RadioButtonGroup LinkButton PopUpButton.
选择类: ComboBox ColorPicker DateField
数据展示类: List HorizonalList TileList Tree DataGrid OLAPDataGrid AdvancedDataGrid .
flextour

去把那些组件背下来!
用[Bindable(event ="")]元数据定义方法事件绑定在setter中发事件,在get上面绑定事件
事件是组件间通讯的最佳信使

<mx:Image source = ""/>

button的皮肤<mx:Button skin = 
<mx:Button   skin=" @Embed('assets/pic.gif') " x=" 100 " y=" 100 " buttonMode=" true " />


VDividedBox 
 backgroundColor=" black "
liveDragging="true"


Panel的三个特别属性title titleIcon status
TitleWindow的一个属性。一个事件
showCloseButton    close

PopUpButton的一个属性,一个方法
popup  它的值必须是一个组件, 一个方法是close()
在Flex中创建xml文件其实很方便

ScaleContent
scaleContent属性 
scaleContent:
Boolean  []

一个标志,指示是缩放内容以适应控件大小还是调整控件大小使其适应内容大小。如果为 true,则会缩放内容以适应 SWFLoader 控件。如果为 false,则会缩放 SWFLoader 控件以适应内容。


Repeater的用法还得练

HttpService我没有实验成功

坐标全部 局部 内容
与父类的边界left right top bottom
与子类的边界paddingLeft paddingRight paddingTop paddingBottom
关于显示visible includeInLayout 
ScrollPolicy auto 当显示滚动条的时候,并不会调整所有者的尺寸,所以滚动条会挡住所有者的内容 
off    表示即使子项超出所有者的尺寸,也不显示滚动条
on    显示滚动条,且当所有者的尺寸也会增大,以容纳滚动条   

布局的原理大管家是LayoutManager
三阶段:
提交:  首先调用validateProperties 该方法从最外层容器开始遍历列表中的对象,逐一调用每个对象的validateProperties()方法,每一次都会调用commitProperties方法处理对象的属性,在这个阶段,允许组件在进入度量和布局之前,根据设置的属性进行自我的调整
度量 :  开始于validateSize()方法,由内向外调用。 每一次调用 measure()
布局:    validateDisplayList() 由外向内    每一次会调用updateDisplayList() 方法

基本的约束样式 ,对于父容器的left right top bottom horizontCenter verticalCenter
基于约束行,和约束列的布局,这个很高级,没有实验成功
Form FormItem TextInput的配合

RadioButtonGroup 里的RadioButton 要有groupName.

Accordion什么效果我得记下来
borderColor
blue red black white 都有效
所有容器都有一个icon属性 和 label
mx.core.container

这样就可以直接显示titelIcon
[Embed("assets/btn.png")]
private const titleIcon:Class; 
icon="{titleIcon

creationCompleteEffect的值有
WipeDown WipeRight WipeLeft Dissolve
如果希望每次都播放特效:
则可以用hideEffect 和 showEffect

随着各窗口打开和被打开,各窗口的header上的状态随着变化1.Accordian headerRenderer = views.DemoHeader
2.在DemoHeader中  请看as_code_大师之路

ViewStack 1.没有管理子容器功能的导航。要借助于viewStack来实现功能!
2.方法一,设置selectedIndex  selectedChild
3.方法二 ,把ViewStack作为LinkBar TabBar ToggleButtonBar容器的dataprovider

第十一章 样式

1.CSS cascading Style Sheets 最新版本是CSS2.0
2.两类选择器。 type是类名。 class是点号命名的

3.样式有两种写法。连线 和 骆驼法。
4.[Style]元数据 来为组件自定义样式属性

5.Application global  Application 全局的。可继承的样式
global  如有不可继承的。global就会把其覆盖

6.设置样式三种方法内联
<mx:Style>
外部css文件

7  type class的继承 Class的继承,体现在容器内子项组件继承容器的样式上,而对于type,体现在子类继承父类的样式。

8.嵌入图像式皮肤比如Button有8个状态:
upSkin overSkin downSkin disabledSkin selectedOverSkin selectedDownSkin selectedUpSkin selectedDisabledSkin

9.图片的9切片缩放.scaleStyle{
     backgroundImages:Embed("assets/arrowCorner.png"),scaleGridTop = "30",scaleGridLeft = "30",scaleGridBotton = "150",scaleGridRight = "240"
}

10.运行时加载样式和皮肤1.实际上mxml编译器会把选择器都生成相对应的CSSStyleDeclaration
2.CSSStyleDecalration 能够进一步操作选择器所包含的样式定义。
getStyle(styleProp)  setStyle(styleProp,newValue) clearStyle(styleProp)
3.

11.直接把某个.Class选择器改了并应用上
myContainerStyle  =   new   CSSStyleDeclaration( '.myStyle' );
                        myContainerStyle.setStyle( "fontStyle" , "italic" );
                        myContainerStyle.setStyle( "backgroundColor" , "#e7e7e7" );
                        myContainerStyle.setStyle( "font" , "Arial" );
                        myContainerStyle.setStyle( "fontSize" , "20" );

12.StyleManager可以用他来获取应用的当前样式,加载新的样式,并应用新的样式。
13.关于上面的来个大总结 1.StyleManager.setStyleDeclaration(selector,CSSStyleDeclaration,update:Boolean);
已经有一个CSSStyleDeclaration对象的情况下,可以把它赋值给任何一个selector
2.对象id.styleName = CSSStyleDeclaration的实例
  和id.styleName = CSSStyleDeclaration的实例所对应的选择器名字字符串,效果一样
3.如果这么写,其实Panel的样式已经改变了。。。如果有同名的Class选择器也会这样的
myContainerStyle = new CSSStyleDeclaration("Panel");
 myContainerStyle.setStyle( "font" , "Arial" );
 myContainerStyle.setStyle("fontSize","40").
4.上面的这个CSSStyleDeclaration如果是定义的一个针对某新的Class选择器的。
  要把它应用到具体的对象 Class Type 三种情况,方法分别是
  a.对象id.styleName = CSSStyleDeclaration名 或 选择器名
 b StyleManager.setStyleDeclaration(目标选择器名,本新定义的CSSStyleDeclaration对象名,true)
5.获取某个对象的样式 StyleManager.getStyleDeclaration(选择器的名字字符串)
6.如果要给某个对象的具体样式属性值改变的话,那么就用 c2.setStyle("color","red")

14.下面进入正题1.把css编译成swf
2.在运行时直接用StyleManage.loadStyleDeclaration("swf路径") 这样不仅load了,而且还直接应用了!

15.在CSS文件中。我把CSS里的某个选择器。从Application 改为 global 就没有报错了!
否则就会有报错:
Multiple markers at this line:
-The CSS type selector 'Application' was not processed, because the type was not used in the application.
-Type 'Application' in CSS selector 'Application' must be qualified with a namespace.
-Type 'Application' in CSS selector 'Application' must be qualified with a namespace.

16.在窗口内Repeater无法定义为什么?
17.XML的规则我得看一遍 




服务器技术:

第17章 Flex 服务器技术概览

1.flex服务器技术定义

2.LiveCycle Data Service基础架构

3.安装LCDS

4.LCDS的配置文件

5.使用LCDS来创建Flex应用

第 18 章 访问Web 和HTTP服务

1.直接访问Web服务1.使用WebService组件
2.实例化WebService组件
3.加载WSDL文档
4.调用Web服务操作
5.处理响应
6.异常处理
7.使用<mx:operation>处理多个Web服务操作

2.使用WebService直接访问Web服务1.使用XFire构建Web服务
2.浏览Web服务的WSDL文件.
3.创建Flex应用 - 直接调用RevenueService

3.直接访问HTTP服务1.mx.rpc.http.HTTPService服务组件
2.实例化HTTPService组件
3.处理响应和异常
4.调用HTTP服务

4.使用HTTPService访问JSP页面1.通过JSP技术提供HTTP服务
2.直接调用HTTP服务

5.跨域访问RPC服务的安全限制1.跨域访问的安全限制
2.应用crossdomain.xml示例
3.HTTP代理服务的作用

6.应用HTTP代理服务1.HTTP代理介绍
2.使用proxy-config.xml配置HTTP代理服务端点。
3.使用代理服务的WebService和HTTPService组件
4.使用HTTP代理服务访问Web和HTTP服务

7.使用代理服务的样例1.创建使用服务器技术的Flex Web应用项目
2.配置代理服务目标
3.定义WebService和HTTPService组件

第19章 访问远程服务

1.远程服务介绍1.RemoteObject组件

2.访问远程Java对象1.服务器端 实现 POJO Java 类
2.服务器端 部署 POJO java 类
3.服务器端 配置remote-config.xml
4.客户端    实例化RemoteObject组件对象
5.客户端    调用远程Java对象方法
6.客户端    处理响应和异常
7.使用<mx:operation>处理多个方法

3.远程服务中的数据序列化1.数据类型对照
2.强类型对象的映射

4.购物车应用1.样例架构
2.实现购物车远程Java代码
3 部署服务器端代码
4.配置远程目标
5.实现客户端Flex应用
6.运行示例
7.作用域session request application 选项的最后讨论

第20章 使用消息服务的客户端应用

1.消息服务基础1.客户端之间端到端的消息通讯
2.服务器向客户端推送的消息
3.发布 - 订阅模式

2.消息服务的架构1.消息发布组件 Productor
2.消息订阅和接收组件 Consumer
3.通道
4.消息目标
5.适配器

3.消息1.消息头
2.消息正文

4.发送消息1.实例化Productor组件
2.创建消息实例
3.发送消息
4.确认发送状态

5.订阅接收消息1.实例化Consumer组件
2.消息订阅和注销
3.接收消息

6.配置消息目标1。
7.示例 购物商场销售监控1.样例架构
2.配置消息服务目标
3.改造购物车,发送消息
4.商城监控台Flex应用: 接收消息.
5.运行示例

第21章 数据管理服务

1.数据管理服务的基础1.使用数据管理服务的原因
2.数据管理服务架构

2.数据管理服务的数据1.
3.数据管理组件DataService1.DataService的CRUD方法
2.客户端到服务器的提交模式
3.客户端间的同步模式

4.配置数据管理服务1.配置通道
2.配置适配器
3.数据对象的唯一标识
4.映射装配器方法

5.定制装配器类1.实现装配器类接口
2.通过方法映射定制装配器

6.示例 使用数据管理服务的学生管理应用1.服务器端和客户端的Value Object类
2.持久性数据
3.服务器代码 DAO类
4.自定义装配器类StudentAssembler 
5.部署服务器端代码
6.配置数据管理服务目标
7.创建使用数据管理服务的客户端应用
8.运行学生管理应用

7.处理数据冲突1.在服务器端判断冲突发生
2.在客户端解决冲突

8.使用分布技术处理大规模数据1.服务器端应用到客户端之间的数据分页
2.数据库到服务器端应用的数据分页




转载于:https://www.cnblogs.com/jason-beijing/archive/2011/12/31/5611962.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值