1.存储登陆信息示例: <?xml version="1.0" encoding="utf-8"?> <!-- lsos/WelcomeMessage.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initApp()"> <mx:Script><!--[CDATA[ public var mySO:SharedObject; [Bindable] public var welcomeMessage:String; public function initApp():void { mySO = SharedObject.getLocal("mydata"); if (mySO.data.visitDate==null) { welcomeMessage = "欢迎第一次访问!" } else { welcomeMessage = "您上次访问的时间是: " + getVisitDate(); } } private function getVisitDate():Date { return mySO.data.visitDate; } private function storeDate():void { mySO.data.visitDate = new Date(); mySO.flush(); } private function deleteLSO():void { mySO.clear(); } ]]--> </mx:Script> <mx:Panel title="共享对象示例" width="90%" height="90%" horizontalAlign="center" verticalAlign="middle"> <mx:Label id="label1" text="{welcomeMessage}"/> <mx:Button label="登出" click="storeDate()"/> <mx:Button label="删除纪录" click="deleteLSO()"/> </mx:Panel> </mx:Application> 2.使用共享对象ActionScript类示例: Blog.mxml <?xml version="1.0" encoding="utf-8"?> <!-- lsos/BlogAggregator.mxml --> <mx:Application xmlns:local="*" xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()" backgroundColor="#ffffff" > <mx:Script> <!--[CDATA[ import mx.collections.ArrayCollection; import mx.utils.ObjectUtil; import flash.net.SharedObject; [Bindable] public var welcomeMessage:String; [Bindable] public var localFeeds:ArrayCollection = new ArrayCollection(); public var lsofeeds:LSOHandler; private function initApp():void { lsofeeds = new LSOHandler("feeds"); localFeeds = lsofeeds.getObjects(); } // 增加新的纪录到共享对象。 private function addFeed():void { // 建立一个将存储到共享对象中去的对象。 var o:Object = {name:ti1.text, url:ti2.text, date:new Date()}; lsofeeds.addObject(o); // 刷新数据列表。 localFeeds = lsofeeds.getObjects(); // 清理文本区域。 ti1.text = ''; ti2.text = ''; } // 从共享对象中删除纪录。 private function removeFeed():void { // 从数据列表中删除当前选择的选项。 localFeeds.removeItemAt(myFeedsGrid.selectedIndex); } ]]--> </mx:Script> <mx:Panel title="Blogs" fontSize="10"> <mx:Form id="blogForm"> <mx:HBox> <mx:FormItem label="姓名:"> <mx:TextInput id="ti1" width="80"/> </mx:FormItem> <mx:FormItem label="网址:"> <mx:TextInput id="ti2" width="250"/> </mx:FormItem> <mx:Button id="b1" label="增加纪录" click="addFeed()"/> </mx:HBox> <mx:FormItem label="保存的纪录:"> <mx:DataGrid id="myFeedsGrid" dataProvider="{localFeeds}" width="400" /> </mx:FormItem> <mx:Button id="b2" label="删除纪录" click="removeFeed()"/> </mx:Form> </mx:Panel> </mx:Application> LSOHandler.as package { import mx.collections.ArrayCollection; import flash.net.SharedObject; public class LSOHandler { private var mySO:SharedObject; private var ac:ArrayCollection; private var lsoType:String; public function LSOHandler(s:String) { init(s); } private function init(s:String):void { ac = new ArrayCollection(); lsoType = s; mySO = SharedObject.getLocal(lsoType); if (getObjects()) { ac = getObjects(); } } public function getObjects():ArrayCollection { return mySO.data[lsoType]; } public function addObject(o:Object):void { ac.addItem(o); updateSharedObjects(); } private function updateSharedObjects():void { mySO.data[lsoType] = ac; mySO.flush(); } } }