弄了两天,终于把复杂的xml文件的数据根据自己的要求读出来,显示在页面上了。flex通过HTTPService组件发送请求,读取xml文件中数据,用xmllistcollection存储xml中某一部分数据,并绑定在gridview控件上。
xml,xmllist,xmllistcollection中只有xmllistcollection具有修改更新数据的功能。xmllistcollection是xmllist的集合,具有source属性,可以将某一个xmllist附给xmllistcollection的source属性。
xml代码:
<?xml version="1.0" encoding="gb2312"?>
<c>
<code>200</code>
<reportid>421</reportid>
<labid>2</labid>
<labname>牛顿第二定律</labname>
<startdate>2010-1-13 21:54:58</startdate>
<submitdate>2010-1-13 21:55:20</submitdate>
<status>1</status>
<labscore>98.63762</labscore><
lastscore>98.63762</lastscore>
<totalscore>0.0</totalscore>
<username>admin</username>
<result>
<result>
<data ......
弄了两天,终于把复杂的xml文件的数据根据自己的要求读出来,显示在页面上了。flex通过HTTPService组件发送请求,读取xml文件中数据,用xmllistcollection存储xml中某一部分数据,并绑定在gridview控件上。
xml,xmllist,xmllistcollection中只有xmllistcollection具有修改更新数据的功能。xmllistcollection是xmllist的集合,具有source属性,可以将某一个xmllist附给xmllistcollection的source属性。
xml代码:
<?xml version="1.0" encoding="gb2312"?>
<c>
<code>200</code>
<reportid>421</reportid>
<labid>2</labid>
<labname>牛顿第二定律</labname>
<startdate>2010-1-13 21:54:58</startdate>
<submitdate>2010-1-13 21:55:20</submitdate>
<status>1</status>
<labscore>98.63762</labscore><
lastscore>98.63762</lastscore>
<totalscore>0.0</totalscore>
<username>admin</username>
<result>
<result>
<data ......
本文介绍一下关于flex性能优化,以及flex生成的的swf大小优化.
1.关掉build automaticly
2.专心做一个项目,开起来一个flex builder
3.用flex builder而不用Eclipse插件,这样不用受其它的插件的影响。
至于后来和数据库的就先不说了,因为水平有限
as3一出来,flex也跟着火一把,目前学习flex的人也越来越多了,但是国内flex的成品确实是很少.比起国外的是相差太多了.
观察了一下现在flex web方面的东西,有2个问题.
a.速度太慢.
b.生成的文件太大,其实加载的速度慢和这个有关系.
c.创意太少.
A-a.速度太慢,其实速度慢有很多方面,先列举先例子吧,程序有问题,swf文件太大等,这些都是速度慢的原因.还有很多暂时不列出.
B-b.生成的文件太大,flex项目刚创建,随便生成一个button,然后观察一下文件的大小,400多K,比较大了吧.就这么一个简单button就这么大.
C-c.这个我不想用太解释了,看看国外的网站就明白了.其实并不是创意多就好,但是国内的东西是模仿为主的.自己的产品太少了.(但是也是有的)
首先先说下Flex项目里程序的性能的调整.
a-1.刚开始编写代码的时候,有的时候会把一个对象重复创建2次,这种情况是存在的,你可以去看看你的项目里有没有这样的情况,用不了多长时间. ......
本文系原创,参考了Flex的官方文档!
在处理文本时,为了美观,有时会给文本选择一些特殊的字体,使得文本不那么单调,这就会引发一个问题:由于每个用户的系统有差异,当对方机器上没有安装你指定的字体时,Flash Player会自动选择一个合适的字体,无法保证文字的外观在控制之中,很可能会走样。如何避免出现这样的情况?
解决方法有两种:使用设备字体和使用嵌入字体。设备字体的特性是用户机器上的所有字体都最大可能地模拟其外观,保持文本的样式不会出现较大变化;嵌入字体是指将字体文件编译进SWF文件中或者运行时加载到SWF文件中,供SWF文件使用。这样不管用户是否安装了该字体,都可以正常显示。使用嵌入字体的好处还有:文本具有抗锯齿,边缘更平滑,文本可以设置透明度,文本还可以旋转。当然也有缺点,首先便是增加了程序的文件大小,而且嵌入字体只支持TrueType(微软和Apple公司共同研制的字型标准)类型,当字体大小小于10时,文本会很难辨认。
一般情况下,使用设备字体就足够了,Flash Player支持三种设备字体:_sans,_serif,_typewriter。所以在定义样式 ......
详细介绍Flex中操作XML(上)
2009年12月30日 星期三 12:05
一 在介绍Flex中操作XML之前,首先简单介绍下XML中的基本术语。
元素:XML中拥有开始标签和结束标签的这一块称为“元素”
节点:把XML元素与文本结合起来统称为节点
根节点:位于整个XML文当顶端的节点
文本节点:包含文本的节点
属性:元素的组成部分,以键/值形式放在元素标签内
用一个例子来说明
view plaincopy to clipboardprint?
<root_node><!--这是一个根节点也是一个元素-->
<node attribute="value"><!--这是一个节点也是一个元素,其中包含有属性"attribute"-->
text node<!--这是一个文本节点-->
</node>
</root_node> ......
详细介绍Flex中操作XML(上)
2009年12月30日 星期三 12:05
一 在介绍Flex中操作XML之前,首先简单介绍下XML中的基本术语。
元素:XML中拥有开始标签和结束标签的这一块称为“元素”
节点:把XML元素与文本结合起来统称为节点
根节点:位于整个XML文当顶端的节点
文本节点:包含文本的节点
属性:元素的组成部分,以键/值形式放在元素标签内
用一个例子来说明
view plaincopy to clipboardprint?
<root_node><!--这是一个根节点也是一个元素-->
<node attribute="value"><!--这是一个节点也是一个元素,其中包含有属性"attribute"-->
text node<!--这是一个文本节点-->
</node>
</root_node> ......
来源:http://blogs.adobe.com/tomsugden/2009/12/writing_genuinely_reusable_fle.html
在企业的大项目里,经常要为Flex 类库写一系列可重用的组件。理论上一些相同的组件可以重复用在不同的模块和子模块的Flex 或 AIR 程序中,带来一致性和快速开发的好处。然而在实际中,存在些错误用法限制了组件的重用性。本文章解释是什么方法令组件可以真正重用,和强调一些在Flex SDK 里使用的技术,来编写出更具重用性的自定义组件。
什么方法令组件可以真正重用?
组件重用性存在不同等级。一个真正可以重用的组件应该可以接受任何类型打数据进行渲染。完全可以适应数组、动态Object或者是Kangaros(具体对象)的集合。Flex DataGrid 组件有这样一个属性。
<mx:DataGrid dataProvider="{ kangaroos }">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="name"/>
<mx:DataGridColumn headerText="Weight" labelFunction="calculateWeight"/>
</mx:columns>
</mx:DataGrid>
注意 dataField 和 labelFunction 属性任何通知组件怎样从Kan ......
1.flex端
<mx:Button id="upload" label="上传文件" click="ExternalInterface.call('openUpload');"/>
2后台
2.1 openUpload是后台的js脚本(jsp)
function openUpload(){
var url="/OA/service/upload.jsp";
newWin=jscomNewWinOpenBySize(url,"文件上传",350,150);
}
function jscomNewWinOpenBySize(url,target,width,height){
var tt,w,left,top;
if (!width) width=screen.width;
if (!height) height=screen.height-60;
left=(screen.width-width)/2;
if(left<0){ left=0;}
top=(screen.height-60-height)/2;
if(top<0){ top=0;}
tt="toolbar=no, menubar=no, scrollbars=yes,resizable=yes,location=no, status=yes,";
tt=tt+"width="+width+",height="+height+",left="+left+",top="+top;
w=window.op ......