Вложенные ключи в SharedPreferences? - PullRequest
0 голосов
/ 31 августа 2011

Мне нужно иметь доступ к нескольким настройкам, используя одну клавишу.Например:

<EditTextPreference
    android:key="@string/channel_url1"
    android:defaultValue="http://youtu.be/" />
<EditTextPreference
    android:key="@string/num_views1"
    android:defaultValue="0" />
<EditTextPreference
    android:key="@string/num_subs1"
    android:defaultValue="0" />

<EditTextPreference
    android:key="@string/channel_url2"
    android:defaultValue="http://you.tu/" />
<EditTextPreference
    android:key="@string/num_views2"
    android:defaultValue="0" />
<EditTextPreference
    android:key="@string/num_subs2"
    android:defaultValue="0" />

Вышеописанное работает, пока я сохраняю каждый ключ уникальным.Но вместо этого мне бы хотелось, чтобы имена ключей для num_views и num_subs были одинаковыми для каждого канала, чтобы их было легко перебирать в коде Java (не прибегая к соглашениям об именах).* Возможно ли это сделать в настройках Android XML?т.е. выбрать коллекцию предпочтений ( не обязательно того же типа! ), используя одну клавишу верхнего уровня?

1 Ответ

2 голосов
/ 31 августа 2011

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

Я бы сказал, что лучше использовать SQLite в качестве альтернативы.

...