Java语言规范规定 包可以存储在文件系统(第7.2.1节)或数据库(第7.2.2节)中。 我们都熟悉存储在文件系统中的软件包,但是我没有看到存储在数据库中的软件包。 谁能比上述html指向我更详细地讨论此问题的站点? 我想了解目的,优点,缺点等。注意,我在问软件包而不 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
注意:我想保存AS3类的实际字节码,而不是它的实例!
一个类正在外部加载,并通过URLLoader
和Loader.loadBytes
提取。 然后从该应用程序域中提取单个类,并在项目中使用。
现在,无需保存整个Loader(通过SharedObject
或其他存储方式),就可以“提取”所需类和所有依赖项的字节码,然后可以将其“注入”到空外壳或其他内容中在需要时可以重用?
所以你想评估(一些代码)? AS3中没有eval(),但这可能会对您有所帮助: http : //danielmclaren.com/2008/09/21/eval-in-as3-tips-for-executing-dynamic-actionscript
您也可以按照3Devil的建议将类保存在AMF中。
例:
package vos
{
import flash.utils.ByteArray;
import org.flixel.FlxPath;
public class ActionVO extends Object
{
public var pid:uint;
public var cid:uint;
public var action:String;
public var data:*;
}
}
而您正在保存所需的共享对象的类
registerClassAlias( "org.flixel::FlxPath", FlxPath );
registerClassAlias( "org.flixel::FlxPoint", FlxPoint );
registerClassAlias( "VO::ActionVO", ActionVO );
并保存:
var byteArray:ByteArray = new ByteArray();
byteArray.writeObject(data);
shared.data.byteArray = byteArray;
..和加载:
var ba:ByteArray = shared.data.byteArray
ba.uncompress();
var vo:ActionVO = ba.readObject() as ActionVO;
那里有vo(简单值对象类,包括更复杂的类FlxPath)
您可以尝试使用ByteArray.writeObject,它将保存对象属性的可逆快照。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.