范例讲解Flex3的SharedObject对象用法
实例讲解Flex3的SharedObject对象用法
实例讲解Flex3的SharedObject对象用法
Flex中的SharedObject对象可以实现web开发中的Cookie的功能,本例用到以下方法:
1.SharedObject.getLocal() 创建或连接本地共享对象;
2.SharedObject.flush() 立即把共享对象数据写入本地文件;
3.SharedObject.clear() 方法用于删除本地共享对象; 闲话不多说,看代码:(讲解都在代码的注释中)
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="initApp()"> <s:layout> <s:BasicLayout/> </s:layout> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; var so:SharedObject; public function initApp():void { //创建一个SharedObject对象(如果该对象存在,则直接获取),后面的“so_name”是自己起的名字,将来该对象会以so_name.sol文件的形式存在电脑中 so=SharedObject.getLocal("so_loginInfo"); //如果创建的SharedObject对象为null,说明没有创建成功 if(null==so) { Alert.show("目前还没有SharedObject对象存在!","error"); }else { //从SharedObject对象中取出事先存入的信息,然后写到文本框中(最初的时候,so对象中没有值,所以文本框中什么也不显示。) txt_username.text=so.data.username; txt_password.text=so.data.password; } } //save按钮的click事件(单击save按钮以后,可以刷新或重新打开浏览器看看效果) public function saveHandler():void { //将文本框中的文本保存到SharedObject对象中。"so.data."后面的名字可以自己随便起,只要存和取用的名字一致就行 so.data.username=txt_username.text; so.data.password=txt_password.text; //立即把共享对象数据写入本地文件 so.flush(); so.client; } //删除共享对象(单击“删除共享对象”按钮以后,可以刷新或重新打开浏览器看看效果) public function deleteSO():void { if(so!=null) { so.clear(); } } ]]> </fx:Script> <mx:Label x="25" y="77" text="Username:" width="138" fontSize="21"/> <mx:TextInput id="txt_username" x="152" y="75" fontSize="21" width="239" height="45"/> <mx:Label x="25" y="138" text="Password:" fontSize="21"/> <mx:TextInput x="152" y="138" width="239" height="41" fontSize="21" id="txt_password"/> <mx:Button x="129" y="208" label="Save" click="saveHandler()" width="145" height="36"/> <mx:Button x="299" y="222" label="删除共享对象" click="deleteSO()"/> </s:Application>