【问题标题】:Design Decision: Should I use Broadcast Receiver or static classes设计决策:我应该使用广播接收器还是静态类
【发布时间】:2018-10-17 10:25:54
【问题描述】:

我正在处理应用程序的 PreferencesActivity: https://developer.android.com/reference/android/preference/PreferenceActivity

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

当用户选择或取消选择此 Pref 中的选项时,我们需要执行一些操作。活动(包括打开/关闭服务、连接到数据库等)

目前,采取这个动作的大部分逻辑都写在activity本身(activity很大)和一些静态类中。

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

要完全静态的类?到个别广播接收器?还有什么?

图片取自这里: Preference Activity on Preference Click Listener

【问题讨论】:

    标签: android oop architecture broadcastreceiver


    【解决方案1】:

    创建PreferencesStorage 类,它从服务器异步加载设置,并将偏好更改发送到服务器。 然后在你的PreferenceActivitySplashActivity 中使用这个类(如果你使用 di - 然后将这个类作为单例注入,如果没有 - 使用这个类的实例)。 如果需要在每个活动中读取某些设置 - 是的,我认为 BroadcastReceiver 将是最好的解决方案。

    如果你想使用干净的架构方法,那么你可以创建PreferencesInteractor,其中包括PreferencesRepository,并将这个交互器注入SplashPresenterPreferencesPresenter

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多