如何删除不同应用程序相同活动中的代码重复?

How to remove code-repetition in identical activities of different apps?

我已经编写了一个应用 X。现在,我必须制作更多的应用程序,这些新应用程序将有几乎一半的活动与 X 完全相同。

最简单的坏方法就是从 X 中选择重复代码并将其粘贴到所有较新的应用程序中。但我想要一个好方法。因此,如果将来我决定更改其中一项常见活动,则更改应反映在使用相同 activity 的所有应用程序中。

我应该创建一个 X 的库并导入它吗?实施活动的这种部分可重用性功能的推荐方法是什么?

注意:这是一个宽泛的答案。

您可以创建一个库!

在库中,您可能想要添加在所有应用程序之间共享的所有活动。我们称它们为 ActivityAActivityBActivityC.

在每个应用程序中,包括 X,您使用 gradle 到 link 库与应用程序。然后你就可以开始所有这些活动了。

您可能还想向 ActivityAActivityBActivityC 添加某种 public 接口,具体取决于您的要求。如果应用 X 中的 ActivityA 有一个绿色按钮,但应用 Y 中的 ActivityA 有一个黄色按钮。您可能想要公开 setButtonColor.

等方法

如果要更改共享活动,只需在库中进行更改即可。然后,将库更新到您应用程序中的最新版本。