Android的 - SharedPreferences - 调整基于优先值码?

问题描述 投票:1回答:1

实现用户的选择偏好考虑我的代码对我来说是一个新的征服。 我已经成功地实施了首选项代码的一部分,但可以使用的建议。

我选择用我Preferences-API设置的PreferenceFragmentApp。 到目前为止,我有我的SettingsActivity成立,工作,正确更新新值。 但是,现在需要一些帮助,我正在执行优先值码。

有2 Preferences我很努力落实到代码。 然而,就目前而言,我将讨论只是其中的1 ..详情如下: 偏好=通知类型 (键= pref_notificationType) - (恒定字符串= PREF_NOTIFICATION_TYPE) 价值观: 声音和振动 唯一的声音 只有振动 无声 (注:以下是本Preference精确值名称)。 我想要做的东西沿着这些路线,除了正确,有效:

public void notificationType() {

    SharedPreferences getPrefs = PreferenceManager
        .getDefaultSharedPreferences(getApplicationContext());

    final String notifType = 
        getPrefs.getString(PREF_NOTIFICATION_TYPE, "Sound and Vibration");

    switch (notifType) {

        case ("Sound and Vibration"):
            //  Create Notification with SOUND (AND) VIBRATION
            break;

        case ("Sound only"):
            //  Create Notification with SOUND (only)
            break;

        case ("Vibrate only"):
            //  Create Notification with VIBRATION (only)
            break;

        case ("Silent"):
            //  Create Notification SILENTLY
            break;

        default:
            //  The default is "Sound and Vibration"
            break;
    }
}

如果有人能请提供关于如何去一些这方面的建议,我将不胜感激! 提前致谢!

android switch-statement sharedpreferences android-preferences
1个回答
1
投票

我认为,在这种情况下,最好的方法创建枚举和开关进行比较。

enum NotificationType {
  SOUND_AND_VIBRATE, SOUND_ONLY, VIBRATE_ONLY, SILENT 
}
//and

switch (NotificationType) {
      case SOUND_AND_VIBRATE:
      case SOUND_ONLY:
      case VIBRATE_ONLY:
      case SILENT:
}
© www.soinside.com 2019 - 2024. All rights reserved.