首页 > 解决方案 > Android - 以无代码方式集成您的库以显示视图

问题描述

我已经读过,通过在库的清单上有一个提供程序,您可以将您创建的库集成到应用程序中,而无需强制它们编写任何集成代码。

这怎么可能?为了显示对话框或按钮,您将在哪里获得对上下文或 FragmentManager 的引用?

标签: androidgradleandroid-gradle-pluginandroid-library

解决方案


我已经读过,通过在库的清单上有一个提供程序,您可以将您创建的库集成到应用程序中,而无需强制它们编写任何集成代码。

并不真地。将其表述为“通过<provider>在库的清单中包含一个,您可以在不强制应用程序开发人员编写任何初始化代码的情况下初始化库”会更准确。

初始化!=集成。

这怎么可能?

ContentProvider当应用程序的进程启动时,所有注册的实例都会被初始化,甚至onCreate()Application被调用之前。通常,这是一个错误(增加启动成本),但如果做得正确,它可能是一个特性(允许库自初始化)。

为了显示对话框或按钮,您将在哪里获得对上下文或 FragmentManager 的引用?

应用程序开发人员会调用您提供的一些 API。


推荐阅读