在本章,你看到的对话框在Android里是一种特殊的挑战;
我们向您展示了异步对话框的影响
提出了一个抽象的概念,简化管理对话框

开始分析每一个类
IDialogProtocol
这个接口用来管理对话框 它的职责包括:
0.1创建对话框 以及任何时候都可以复用它
0.2显示对话框
0.3识别按钮点击
0.4关闭对话框
ManagedActivityDialog
实现了IDialogProtocol这接口,
template-hook pattern这应该是某种模式,翻译过来叫做 模版挂机模式,我懂的甚少,忘多多指教
它允许派生类有专门的onClickHook方法,负责将show()方法重定向到parent activity
也为show()方法提供了更自然的实现
当对话框完成了点击事件的时候会通知dialogs的parent activity
你可以为你所有新的dialog使用ManagedActivityDialog这个类作为基类
DialogRegistry
这个类负责两件事
一.保持dialog的ID跟实际的dialog的实例之间的映射,这也就意味着所有调用OnCreate和OnPrepare中特定的dialog 都使用ID-到-对象这样的的映射
二,ManagedDialogsActivity这个Activity使用DialogResistry作为一个仓库来创建注册新的对话框
这个类作为你一系列需要用到对话框的Activity的基类,支持管理对话框动作.
它使一个单实例的DialogRegistry 去跟踪IDialogProtocol确定的所有的managed-dialog
它允许所有派生的Activity通过registerDialog()这个方法来注册它们自己的对话框
transferring the create and prepare semantics to the respective dialog instance by locating that dialog instance in the dialog registry
上面这句话太长了我翻译不过来,我的理解就是把craete 和prepare正确的转向定位到DialogRegistry中的不同的对话框实例
它还为每一个在DialogRegistry中的dialog提供了回调方法dialogFinished()