Подтвердить что ты не робот

Как может PreferenceActivity использовать файл пользовательских настроек

Моя первая попытка предпочтений была без знания PreferenceActivity. Итак, теперь у меня есть приложение, которое хранит все пользовательские настройки в определенном файле предпочтений.

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

Есть ли способ сообщить моей PreferenceActivity использовать этот конкретный файл для всех настроек?

4b9b3361

Ответ 1

Вы можете прочитать все настройки в начале своего приложения, а затем сохранить их в Preferences с помощью

Editor e = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit();
e.putBoolean("yourPreference", true);
e.putString("yourOtherPreference", "This is the Value");
...
e.commit();

Я надеюсь, что это поможет

Ответ 2

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

Предварительно задайте имя файла предпочтений по умолчанию:

public class MyPreferencesActivity extends PreferenceActivity {
    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

         PreferenceManager prefMgr = getPreferenceManager();
         prefMgr.setSharedPreferencesName("my_preferences");
         prefMgr.setSharedPreferencesMode(MODE_WORLD_READABLE);

         addPreferencesFromResource(R.xml.preferences);
    }
}

Надеюсь, это поможет кому-то.

С уважением.

Ответ 3

Maaalte правильно, что вы хотите сделать, это onCreate test для существования вашего настраиваемого файла, и если он там, переименуйте его в стандартное имя файла общих предпочтений.

Другой вариант - прочитать ваши старые префы один за другим и использовать API общих настроек, чтобы добавить их, когда вы их читаете, а затем удалите старые префы, когда закончите.