一个简单的库,可让您轻松地将薄视图与专用控制器配对,并将其与大多数 Activity 生命周期的变化隔离开来。
Mortar 运行良好,为我们提供了很好的服务,但强烈不建议使用它。Square 创建 Mortar 的应用套件正在使用 Square Workflow 取代 Mortar。
Mortar 为 Android 生命周期提供了一个简化的可组合覆盖层, 用于帮助使用 [视图作为 Android 应用的模块单元][rant]。 它利用 [Context#getSystemService][服务] 来充当点菜式供应商 诸如依赖注入、捆绑持久化以及其他各种服务 你的应用程序需要自行提供。
Mortar 提供的最有用的服务之一是 [BundleService][bundle-service],它使任何 View(或任何具有访问 Activity 上下文的对象)能够安全地访问 Activity 生命周期的持久化捆绑。对于 [Model View Presenter][mvp] 规范的粉丝,我们提供了一个基于 BundleService 的持久化 [Presenter][presenter] 类。Presenter 完全独立于 View 关注点,特别擅长应对配置变化,能够在 Android 销毁您的肖像 Activity 和 View 并用横向副本替换它们时,继续正常运行。
Mortar 同样可以将 [Dagger][dagger] ObjectGraphs (或 [Dagger2][dagger2] 组件) 视为系统服务。或者不这样做 — 这些服务完全脱离了。
这些嵌套作用域可以遮蔽更高级作用域提供的服务。例如,针对您的向导会话的 [Dagger 扩展图][ogplus] 可以覆盖通常可用的图,对向导视图而言是透明的。像 ObjectGraphService.inject(getContext(), this) 这样的调用现在可以实现,而无需考虑哪个图会进行注入。
暂无开放 Issues,或尚未同步最近议题。