Android - 无代码集成您的库以显示视图

Android - Integrate Your Library Codelessly to Display Views

提问人:DeveloperKurt 提问时间:5/28/2021 更新时间:5/28/2021 访问量:36

问:

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

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

android gradle android-gradle-plugin android-library

评论

0赞 Morrison Chang 5/28/2021
问题的第一部分听起来像是:在 Android 库中获取上下文,但您应该引用/链接您认为可以显示视图的来源(无需某些集成)。

答:

2赞 CommonsWare 5/28/2021 #1

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

没有。更准确地说是“通过在库的清单中有一个,你可以初始化一个库,而不强迫应用程序开发人员编写任何初始化代码”。<provider>

初始化 != 集成。

这怎么可能?

所有已注册的实例都会在应用进程启动时启动,甚至在调用之前。通常,这是一个错误(增加启动成本),但如果操作得当,它可以是一个功能(允许库自我初始化)。ContentProvideronCreate()Application

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

应用开发人员将调用您提供的一些 API。

评论

1赞 DeveloperKurt 5/28/2021
我明白了,所以应用程序开发人员无论如何都必须调用一些 API。在这种情况下,请问您,如果您想在集成应用程序的每个屏幕上显示视图(Button、TextView 等),您将如何设计 API?
0赞 CommonsWare 5/28/2021
@DeveloperKurt:在我的脑海中,我不知道,对不起。