实例讲解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>
 

你可能感兴趣的:(Web,xml,浏览器,Flex,Adobe)