开发者

Nested keying in SharedPreferences?

I need to be able to access multiple settings using one key. For example:

<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" />

The above works as long as I keep each and every key unique. But what I would like instead is have the key name for num_views and num_subs identical for each channel, so that it would be easy to iterate through them in Java code (without resorting to naming conventions).

Is it possible to do that in Android's preferences XML? i.e. select a collection of a preferences (not necessarily of the same type!) using a single top-level key?


As far as I know, this is not supported. Your best chance is probably to encode all the things you need into a XML or JSON object and save them to a string preference. But thats a neat amount of overhead in my opinion.

I'd say rather use SQLite as an alternative.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜