2012-12-29 36 views
0

我正在编写Web服务客户端,并具有三个明显的设置:url,用户名和密码。为此,SharedPreferences中的键值对就足够了。但是当我想要订阅多个服务器实例时,我遇到了障碍。我需要的是为用户添加的每个服务器实例存储一次三个设置。这里最好的方法是什么?创建自定义设置活动并将其保存到fileAndroid分层首选项

+0

不要将它们保存到一个文件中,对于每一个喜好使用不同的'SharedPreferences'名和_Android_将它们保存到你一个文件(也许,也许这将其存储在一个更好的地方) –

回答

0

您可以在SharedPreferences中存储Set<String>。您可以使用它将密钥存储到其他属性。

这样做的一种方法是使用定义每个服务器的密钥(例如“foo.com”和“bar.com”)存储一组密钥。然后为每个服务器使用已知的后缀存储您需要的属性。假设你需要存储每个人的用户名和密码,那么你应该把“foo.com-username”和“foo.com-password”作为“foo.com”服务器的用户名和密码的密钥,与“bar.com”一样。

+0

我认为那时,你动态地填充你的'PreferenceFragment'而不是通过xml?或者你完全使用自定义的“活动”? – Mizipzor

+0

我认为你仍然可以使用'PreferenceFragment'或'PreferenceActivity',你需要创建一个自定义的'Preference'控件来处理你的情况。请记住,您可以在xml中定义自定义首选项控件,就像使用xml布局中的自定义视图一样。 – aromero