实例讲解Flex3的SharedObject对象用法

 Flex中的SharedObject对象可以实现web开发中的Cookie的功能,本例用到以下方法:

    1.SharedObject.getLocal() 创建或连接本地共享对象;

    2.SharedObject.flush() 立即把共享对象数据写入本地文件;

    3.SharedObject.clear() 方法用于删除本地共享对象;      闲话不多说,看代码:(讲解都在代码的注释中)

Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2.   
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()" layout="absolute">  
  4.   
  5.     <mx:Script>  
  6.   
  7.         <![CDATA[  
  8.  
  9.             import flash.net.SharedObject;  
  10.  
  11.             import mx.controls.Alert;  
  12.  
  13.               
  14.  
  15.             //声明一个SharedObject对象  
  16.  
  17.             var so:SharedObject;  
  18.  
  19.               
  20.  
  21.             public function initApp():void  
  22.  
  23.             {  
  24.  
  25.                 //创建一个SharedObject对象(如果该对象存在,则直接获取),后面的“so_name”是自己起的名字,将来该对象会以so_name.sol文件的形式存在电脑中  
  26.  
  27.                 so=SharedObject.getLocal("so_loginInfo");  
  28.  
  29.                   
  30.  
  31.                 //如果创建的SharedObject对象为null,说明没有创建成功  
  32.  
  33.                 if(null==so)  
  34.  
  35.                 {  
  36.  
  37.                     Alert.show("目前还没有SharedObject对象存在!","error");  
  38.  
  39.                 }else  
  40.  
  41.                 {  
  42.  
  43.                     //从SharedObject对象中取出事先存入的信息,然后写到文本框中(最初的时候,so对象中没有值,所以文本框中什么也不显示。)  
  44.  
  45.                     txt_username.text=so.data.username;  
  46.  
  47.                     txt_password.text=so.data.password;  
  48.  
  49.                 }  
  50.  
  51.             }  
  52.  
  53.             //save按钮的click事件(单击save按钮以后,可以刷新或重新打开浏览器看看效果)  
  54.  
  55.             public function saveHandler():void  
  56.  
  57.             {  
  58.  
  59.                 //将文本框中的文本保存到SharedObject对象中。"so.data."后面的名字可以自己随便起,只要存和取用的名字一致就行  
  60.  
  61.                 so.data.username=txt_username.text;  
  62.  
  63.                 so.data.password=txt_password.text;  
  64.  
  65.                 //立即把共享对象数据写入本地文件  
  66.  
  67.                 so.flush();  
  68.  
  69.             }  
  70.  
  71.               
  72.  
  73.             //删除共享对象(单击“删除共享对象”按钮以后,可以刷新或重新打开浏览器看看效果)  
  74.  
  75.             public function deleteSO():void  
  76.  
  77.             {  
  78.  
  79.                 if(so!=null)  
  80.  
  81.                 {  
  82.  
  83.                     so.clear();  
  84.  
  85.                 }  
  86.  
  87.             }  
  88.  
  89.         ]]>  
  90.   
  91.     </mx:Script>  
  92.   
  93.            
  94.   
  95.     <mx:Label x="25" y="77" text="Username:" width="138" fontSize="21"/>  
  96.   
  97.     <mx:TextInput id="txt_username" x="152" y="75" fontSize="21" width="239" height="45"/>  
  98.   
  99.     <mx:Label x="25" y="138" text="Password:" fontSize="21"/>  
  100.   
  101.     <mx:TextInput x="152" y="138" width="239" height="41" fontSize="21" id="txt_password"/>  
  102.   
  103.     <mx:Button x="129" y="208" label="Save" click="saveHandler()" width="145" height="36"/>  
  104.   
  105.     <mx:Button x="299" y="222" label="删除共享对象" click="deleteSO()"/>  
  106.   
  107. </mx:Application>  

你可能感兴趣的:(实例讲解Flex3的SharedObject对象用法)