本文和大家重点讨论一下连接Flex数据库的方法,Flex应用程序并不直接与一个Flex数据库进行连接,所以你需要使用某种类型的服务来支持对数据的使用。并且连接Flex数据库的***步是生成将在Flex程序中使用到的数据。
连接Flex数据库的方法
Flex应用程序并不直接与一个Flex数据库进行连接,所以你需要使用某种类型的服务来支持对数据的使用。
连接Flex数据库的***步是生成将在Flex程序中使用到的数据。在与PHP的应用中,你将采用如下的步骤:
1.创建一个Flex数据库(如MySQL)。
2.编写一个PHP脚本连接MySQLFlex数据库并生成XML格式的数据。
这些步骤同样适合于在其它工作平台上生成的数据(如ASP.NET、JSP等)。
连接外部数据源
对于PHP所生成的XML格式数据,你可以使用HTTPService组件来请求获取数据,就象这样:
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute">
- <mx:HTTPService
- id="productsRequest"
- url="http://www.somesite.com/products.php"/>
- ...
HTTPService组件定义了一个请求ID,你将使用这个ID来控制提供数据的URL或者服务器与数据之间的绑定。
外部数据与数据驱动控制的绑定
通过数据与数据驱动控制(data-drivencontrol)的绑定,你就可以处理HTTPService的结果(XML数据),就象这样:
- <mx:DataGridxmx:DataGridx="20"y="80"id="productGrid"width="400"
- dataProvider="{productRequest.lastResult.products.items}">
- <mx:columns>
- <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="Name"dataField="name"/>
- <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="Price"dataField="price"/>
- < span>mx:columns>
- < span>mx:DataGrid>
Flex数据库中数据绑定的语法显示在数据控制的dataProvider属性中(在波浪形的括号里),它包含了HTTPService请求ID、lastResult方法、以及XML文件的数据结构。在这个例子中,XML数据源的数据结构看起来就象这样:
- <XML>
- <products>
- <item>
- <name>MobilePhone< span>name>
- <price>$199< span>price>
- < span>item>
- <item>
- <name>CarCharger< span>name>
- <price>$34< span>price>
- < span>item>
- ...
通过设置dataField属性,项目数据(name和price)作为数据栅格中每一列的数据。
在运行时加载数据
你还可以在Flex程序开始运行时加载Flex数据库数据,就象随后所示,在HTTPService中向某个特定的URL发送一个请求:
- <mx:Applicationxmlns:mxmx:Applicationxmlns:
- mx=http://www.adobe.com/2006/mxml
- layout="absolute"creationComplete="productsRequest.send()">
当你将creationComplete方法添加到应用程序标签里后,数据会在运行时进行加载并交于数据驱动控制(在这个例子中是数据栅格)。
你还可以将HTTPService请求添加到一个控制事件上而不是程序里的标签中,就象如下所示:
- <mx:Buttonxmx:Buttonx="50"y="8"
- label="GetData"click="productsRequest.send();"/>
Flex提供许多方法去连接、管理、格式化、以及校验数据。你可以通过使用远程程序调用、数据服务、或者其它企业级技术来操纵和管理数据。
【编辑推荐】