android - 如何删除不同应用程序相同 Activity 中的代码重复?

标签 android performance android-activity code-reuse

我已经为应用X 编写了代码。现在,我必须制作更多的应用程序,这些新应用程序将有将近一半的 Activity 与 X 完全相同。

最简单的坏方法就是从 X 中挑选重复出现的代码,然后将其粘贴到所有较新的应用程序中。但我想要一个好方法。因此,如果将来我决定更改其中一项常见 Activity ,则更改应反射(reflect)在使用了相同 Activity 的所有应用中。

我应该创建一个 X 的库,然后导入它吗?实现 Activity 的这种部分可重用性功能的推荐方法是什么?

最佳答案

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

您可以创建一个库!

在库中,您可能希望添加在所有应用之间共享的所有 Activity 。我们称它们为 ActivityAActivityBActivityC

在每个应用程序中,包括 X,您都使用 gradle 将库与应用程序链接起来。然后您就可以开始所有这些 Activity 了。

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

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

关于android - 如何删除不同应用程序相同 Activity 中的代码重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38239416/

相关文章:

android - 为 Android 构建 liblinphone

c - 'switch' 比 'if' 快吗?

mysql - 对大量文档执行全文搜索

java - 即使没有为它们指定代码,Android Activity 生命周期方法是否有用?

android - 在 android 通知中创建一个 map Activity

java - 使用后退按钮关闭 Activity 后恢复 Activity

android - Google Analytics 版本 4 无法发送自定义维度

android - 电池电量耗尽时丢失数据

android - React Native获取在Android上提供TypeError

asp.net - 哪些性能计数器可用于识别 ASP.NET 瓶颈?