设计决策:我应该使用广播接收器还是静态类

时间:2018-05-07 14:59:33

标签: android oop architecture broadcastreceiver

我正在研究App的PreferencesActivity: https://developer.android.com/reference/android/preference/PreferenceActivity

县。活动看起来像这样: http://i.imgur.com/qnHbJX9.png

当用户选择或取消选择此Pref中的选项时,我们需要采取一些操作。活动(涉及开启/关闭服务,与数据库建立连接等)

目前,采取此操作的大部分逻辑都是在活动本身(活动很大)和一些静态类中编写的。

我们现在想要在服务器上保存这些设置,并在用户登录时执行这些操作(不启动pref。活动)。我应该如何移动逻辑?

要完全静态的类?个人广播接收器?还有别的吗?

从这里拍摄的图片: Preference Activity on Preference Click Listener

1 个答案:

答案 0 :(得分:0)

创建PreferencesStorage类,该类从服务器加载异步设置,并将首选项中的更改发送到服务器。 然后在PreferenceActivitySplashActivity中使用此类(如果使用di - 则将此类注入为singleton,如果不是 - 请使用此类的实例)。 如果某些设置需要在每个活动中加入 - 是的,我认为BroadcastReceiver将是最佳解决方案。

如果您想使用干净的架构方法,则可以创建PreferencesInteractor,其中包含PreferencesRepository,并将此交互器注入SplashPresenterPreferencesPresenter