Каков наилучший способ использования общих настроек между действиями? - PullRequest
18 голосов
/ 29 октября 2010

У меня есть пользовательские настройки в моем приложении, которые используются различными действиями. Я хотел бы знать, как наилучшим образом использовать эти предпочтения между различными действиями в моем приложении.

У меня есть идея создать общий объект предпочтений из основного действия и оттуда отправлять намерения различным действиям для выполнения действий. Будет ли это работать ...?

Или просто продолжайте звонить getsharedpreferences() от каждого вида деятельности ...?

Спасибо.

Ответы [ 3 ]

25 голосов
/ 29 октября 2010

Отправка общих настроек через намерения кажется слишком сложной.Вы можете обернуть общие настройки примерно так, как показано ниже, и вызывать методы непосредственно из ваших действий:

6 голосов
/ 29 октября 2010

Вы можете использовать этот способ и объявлять одинаковые переменные с одинаковыми именами во всех активах, где вы хотите их использовать.

  public static final String PREFS_NAME = "MyPrefsFile";
  static SharedPreferences settings;
  SharedPreferences.Editor editor;
  int wordCount;

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    settings = getSharedPreferences(PREFS_NAME, 0);
    editor = settings.edit();

    wordCount = settings.getInt("wordCount", 4); 

  }

Здесь изначально wordCount выдаст 4;И когда вы редактируете wordCount и хотите сохранить снова

  editor.putInt("wordCount", 6);
  editor.commit();

Вы должны объявить эти же переменные в действиях, где вы хотите использовать общие настройки.И лучше всего вызывать getSharedPreferences в каждом действии.

Я не думаю, что передача этого предпочтения намеренно сработает.

0 голосов
/ 29 октября 2010

Конечно, вы можете использовать общие предпочтения в своих приложениях.

Если у вас больше простого типа, чем string или int, вы можете использовать одиночный или расширенный класс приложения, который будет доступен для всех действийвашего приложения.=> Нет доступа к диску здесь.Просто хранится в памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...