Flex中的共享对象与Web cookie相同,但功能要强大的多。扩展名是.sol。
使用getLocal()方法获取已有的共享对象。 所有的共享对象都是在Flash Player 清除SWF文件时写入磁盘的。 如果想立即写入共享对象,那么可以使用flush()静态方法。
与cookie一样,最好的做法是在引用共享对象之前测试它是否存在。下面的代码说明了如何测试user属性的存在性。
if(soMy.data.user != undefined){
//statements
}
SharedObject类只能保存ActionScript固有的数据结构,比如对象数组。ArrayCollection以及值对象创建的对象不能保存在共享对象中。这些对象必须转换为对象数组。如:
public function saveCart():void{
this.soCart = SharedObject.getLocal("cartInfo");
this.soCart.data.aCart = new Array();
var len:int = aItems.length;
for(var i:int = 0; i < len; i++){
this.soCart.data.aCart[i] = this.aItems.getItemAt(i);
}
}
详见AS帮助文档。。。