我想保存包含一些 UI 组件的应用程序状态,如图所示。
当用户离开编辑模式时,工作应该以某种形式保存,以便用户以后可以编辑。
我无法从中检索数据sharedObject
。
相反,现在我想使用IExternalization
. 我如何使用它来节省用户工作?
我想保存包含一些 UI 组件的应用程序状态,如图所示。
当用户离开编辑模式时,工作应该以某种形式保存,以便用户以后可以编辑。
我无法从中检索数据sharedObject
。
相反,现在我想使用IExternalization
. 我如何使用它来节省用户工作?
这个问题有一个 IExternalizable 用法的例子。
您有许多 UIComponents 后代,也许他们甚至共享一个父代。因此,您获取每个类并编写它们implements IExternalizable
,并编写一个连贯writeExternal
的readExternal
方法对,只保存所需的属性(x,y,type,等等。比如说一个电阻,您将它的 x,y,type 保存为枚举或字符串,可能是旋转,仅此而已。当您执行readExternal
实现时,您会按照编写它们的顺序读取所有值,然后根据您读取的值重构对象内的任何内容。对象外部的任何内容应该由它的父级恢复,它将一个一个地写入一组这些对象(电阻器,电感器,晶体管等),然后将addChild()
它们读取。这是一个足够复杂的结构,但如果处理得当,它将起作用。
是的,所有这些都可以存储在 SharedObject 中,并使用其本机可用的方法。但请注意,您需要为registerClassAlias
IExternalizable 实现中涉及的所有类调用一个方法。