《Flex与ActionScript程序开发》章节试读

当前位置:首页 > 计算机网络 > 软件工程/开发项目管理 > Flex与ActionScript程序开发章节试读

出版社:北京交通大学出版社
出版日期:2010-2-1
ISBN:9787512100749
作者:陈爽,付凯
页数:449页

《Flex与ActionScript程序开发》的笔记-第43页

添加节点组合生成XML
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
<mx:Script>
<![CDATA[
private function initApp():void{
var ids:Array=[121,122,123];
var names:Array=[["a1","b1"],["a2","b2"],["a3","b3"]];
var arrData:XML=new XML("<root></root>");
for(var i:int=0;i<ids.length;i++){
var newnode:XML =new XML();
newnode=<employee id ={ids[i]}>
<last>{names[i][0]}</last>
<first>{names[i][1]}</first>
</employee>
arrData=arrData.appendChild(newnode);
}
trace(arrData);
}
]]>
</mx:Script>
</mx:Application>

《Flex与ActionScript程序开发》的笔记-第51页

Array引用:
import mx.collections.ArrayCollection;

《Flex与ActionScript程序开发》的笔记-第59页

ArrayCollection转换为XML 遍历
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.collections.ArrayCollection;

[Bindable]
private var resourcesCollection:ArrayCollection=new ArrayCollection([
{id:"01",name:"汽车分类",type:"汽车",children:[
{id:"01-1",name:"宝马",type:"汽车"},
{id:"01-2",name:"奔驰",type:"汽车"}]
},
{id:"02",name:"书籍分类",type:"书籍",children:[
{id:"021-1",name:"数学",type:"书籍"},
{id:"02-2",name:"语文",type:"书籍"}]
}
]);


private function arrToXml():void{
var root:XML = new XML("<root/>");


for(var i:int =0;i=resourcesCollection.length;i++){
var node:XML=new XML("<node/>");
node.id = resourcesCollection[i].id;
node.name = resourcesCollection[i].name;
node.type = resourcesCollection[i].type;
for(var j:int=0;j<resourcesCollection[i].children.length;j++){
var childNode:XML = new XML("<children/>");
childNode.id = resourcesCollection[i].children[j].id;
childNode.name = resourcesCollection[i].children[j].name;
childNode.type = resourcesCollection[i].children[j].type;
node.appendChild(childNode);
}
root.appendChild(node);
}
Alert.show(root.toString());
}
]]>
</mx:Script>
<mx:Button click="arrToXml()" label="转换"/>
</mx:Application>

《Flex与ActionScript程序开发》的笔记-第52页

强类型的复制与转换

《Flex与ActionScript程序开发》的笔记-第53页

使用HTTPService获得XML并转成ArrayCollection
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="{ser.send();}">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;


private function resuleHandler(e:ResultEvent):void{
var myData:ArrayCollection= e.result.root.node as ArrayCollection;
dg.dataProvider=myData;
}

]]>
</mx:Script>
<mx:HTTPService id="ser" url="d:/1.xml" result="resuleHandler(event)" />
<mx:DataGrid id="dg"/>
</mx:Application>

《Flex与ActionScript程序开发》的笔记-第48页

定义Array
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()" fontSize="12">
<mx:Script>
<![CDATA[
[Bindable]
private var arr1:Array;
[Bindable]
private var arr2:Array;
[Bindable]
private var arr3:Array;

private function initApp():void{
arr1=new Array("新新","玲玲","宝马");
arr2=["新新","玲玲","宝马"];
arr3=new Array(
{name:"新新",type:"boy"},
{name:"玲玲",type:"girl"},
{name:"宝马",type:"car"}
)
}
]]>
</mx:Script>
<mx:Array id="arr4">
<mx:String>新新</mx:String>
<mx:String>玲玲</mx:String>
<mx:String>宝马</mx:String>
</mx:Array>
<mx:ComboBox dataProvider="{arr1}" x="238" y="77"/>
<mx:ComboBox dataProvider="{arr2}" x="141" y="93"/>
<mx:HBox>
</mx:HBox>
<mx:ComboBox dataProvider="{arr4}" x="52" y="53"/>
<mx:ComboBox dataProvider="{arr3}" labelField="name" x="152" y="31"/>
<mx:ComboBox dataProvider="{arr3}" x="68" y="10"/>
</mx:Application>

《Flex与ActionScript程序开发》的笔记-第42页

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
<mx:Script>
<![CDATA[
private var myData:XML;
private function initApp():void{
myData=<root>
<node type="boy" id="01" name="新新"/>
<node type="girl" id="02" name="玲玲"/>
<node type="car" id="03" name="宝马"/>
<event time="0" parent="01" description="事件1"/>
<event time="1" parent="03" description="事件2"/>
<event time="2" parent="02" description="事件3"/>
<event time="3" parent="02" description="事件4"/>
<event time="4" parent="03" description="事件5"/>
</root>
var newData:XMLList = myData.event;
var arr:Array=[];
for(var i:int=0;i<newData.length();i++){
if(arr.indexOf(String(newData[i].@parent))==-1)
arr.push(String(newData[i].@parent));
}
trace(arr);
trace(arr.length);
}
]]>
</mx:Script>
</mx:Application>

《Flex与ActionScript程序开发》的笔记-第65页

数据绑定 binding
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" >
<mx:Binding source="input1.text+'(总字数:'+input1.text.length+')'" destination="input2.text"/>
<mx:TextInput x="10" y="10" id="input1"/>
<mx:TextInput x="10" y="53" id="input2"/>
</mx:Application>
函数绑定
ActionScript绑定
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" creationComplete="initApp()" >
<mx:Script>
<![CDATA[
import mx.controls.Button;
import mx.binding.utils.BindingUtils;
import mx.binding.utils.ChangeWatcher;
import mx.controls.TextInput;

private var warcher:ChangeWatcher;
private var btn:Button;
private var input1:TextInput;

private function initApp():void{
input1 =new TextInput();
this.addChild(input1);
input1.x=10;
input1.y=10;
var input2:TextInput =new TextInput();
this.addChild(input2);
input1.x=10;
input1.y=50;
warcher=BindingUtils.bindProperty(input2,"text",input1,"text");
btn =new Button();
btn.label="单击停止绑定";
btn.addChild(btn);
btn.x=50;
btn.y=100;
}

private function btn_clickHandler(e:MouseEvent):void{
if(warcher.isWatching()){
warcher.unwatch();
btn.label="单击重新绑定";
}
else{
warcher.reset(input1);
btn.label="单击停止绑定";
}
}

]]>
</mx:Script>
</mx:Application>
自定义事件绑定
使用对象做绑定源

《Flex与ActionScript程序开发》的笔记-第58页

XML转为ArrayCollection 遍历
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
<mx:AdvancedDataGrid id="adg">
<mx:columns>
<mx:AdvancedDataGridColumn dataField="id"/>
<mx:AdvancedDataGridColumn dataField="name" headerText="名称"/>
<mx:AdvancedDataGridColumn dataField="type" headerText="类型"/>
</mx:columns>
</mx:AdvancedDataGrid>
<mx:Script>
<![CDATA[
import mx.collections.HierarchicalData;
import mx.collections.ArrayCollection;

[Bindable]
private var resourcesCollection:ArrayCollection;
private var myData:XML;

private function initApp():void{
myData = <root>
<node>
<id>01</id>
<name>汽车分类</name>
<type>汽车</type>
<children>
<id>01-1</id>
<name>宝马</name>
<type>汽车</type>
</children>
</node>
<node>
<id>02</id>
<name>书籍分类</name>
<type>书籍</type>
<children>
<id>02-1</id>
<name>数学</name>
<type>书籍</type>
</children>
<children>
<id>02-2</id>
<name>语文</name>
<type>书籍</type>
</children>
</node>
</root>

var resourcesCollection:ArrayCollection=new ArrayCollection();
for(var i=0;i<myData.node.length();i++){
var obj:Object=new Object();
obj.id=myData.node[i].id;
obj.name=myData.node[i].name;
obj.type=myData.node[i].type;
var arr:Array=new Array();
for(var j:int=0;j<myData.node[i].children.length();j++){
var obj2:Object=new Object();
obj2.id=myData.node[i].children[j].id;
obj2.name=myData.node[i].children[j].name;
obj2.type=myData.node[i].children[j].type;
arr.push(obj2);
}
obj.children=arr;
resourcesCollection.addItem(obj);

}
adg.dataProvider=new HierarchicalData(resourcesCollection);
}
]]>
</mx:Script>
</mx:Application>

《Flex与ActionScript程序开发》的笔记-第28页

actionscript3的变量是大小写敏感的
变量定义:
var 变量名:数据类型

《Flex与ActionScript程序开发》的笔记-第29页

1.var num:Number;
2.var tempStr:String ="fuck!!!"
3.var obj:Object;

《Flex与ActionScript程序开发》的笔记-第14页

常用快捷键

《Flex与ActionScript程序开发》的笔记-第46页

1.使用XML标签读取
<mx:XML source ="d:/1.xml" id="myData">
2.使用URLLoader
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
<mx:Script>
<![CDATA[
import flash.net.URLLoader;
import flash.net.URLRequest;
private function initApp():void{
var request:URLRequest=new URLRequest("d:/1.xml");
var loader:URLLoader=new URLLoader;
loader.addEventListener(Event.COMPLETE,completeHander);
loader.load(request);
}
private function completeHander(e:Event):void{
var myData2:XML=new XML(e.target.data);
trace(myData2);
}
]]>
</mx:Script>
</mx:Application>
3.httpservice
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
private function initApp():void{
ser.send();
}

private function resuleHandler(e:ResultEvent):void{
var myData:XML=e.result as XML;
trace(myData);
}

]]>
</mx:Script>
<mx:HTTPService id="ser" url="d:/1.xml" result="resuleHandler(event)" resultFormat="e4x"/>
</mx:Application>


 Flex与ActionScript程序开发下载


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024