使用Activity作为API供应商的风险

时间:2017-12-04 11:29:15

标签: android android-activity

我正在为Android创建一个应用程序,我希望将其转换为库模块,并将其自己的逻辑用作其UI中不同的其他几个应用程序的通用逻辑。库模块有一个Android服务,可以接收和发送命令给应用程序本身定义的监听器(在我的主要活动中)。

在接收方,侦听器是应用程序的主要活动,然后根据来自服务的消息类型调用回调。

问题更多的是向服务部分发送命令。有问题的API是应用程序向服务发送消息的方式。它只是获取要发送的消息的参数并将其传递给服务。

我想这样做的方法是将库的主要活动作为API,允许发送和接收事件。然后,使用该库的UI开发人员只需要为GUI创建另一个模块,并使其主要活动扩展库的主要活动,从而能够使用API​​并扩展监听器的行为。

我想知道的是可能的技术问题,而不是设计本身是否是最好的意见 - 这个设计有问题吗?例如Android处理活动的问题?还有其他问题吗?

1 个答案:

答案 0 :(得分:1)

基于Activity构建API的主要风险是您基本上将API绑定到活动生命周期,我假设主要和UI线程上都应该有类似于消息传递的API。我更喜欢使用接口来设计API。 Dagger非常有助于创造可以注入任何地方的单身人士。