Android共享首选项

时间:2012-05-30 16:18:14

标签: android sharedpreferences

我正在申请注册程序。字段是“徽章ID(用户名)”和“密钥(密码)”。在过程开始时,我将从共享首选项中设置两个输入值。我希望我的应用程序有这两个值。当我们尝试给出下两个值(或编辑这个值)时,会显示一个像“已经使用过的徽章一样的祝酒词。试试'输入这里!'” 我该如何实现这些?

Toast.makeText(getApplicationContext(), "Badge already taken.Try 'Enter Here !'", Toast.LENGTH_LONG).show();

1 个答案:

答案 0 :(得分:1)

您可以使用SharedPreferences.contains(String key)来测试您的共享偏好设置是否已存储用户名或密码。

我建议您不要向用户抱怨更改名称或密码,而只是禁用或删除任何允许用户进行更改的UI元素。

例如,你可以在onCreate中执行类似的操作:

SharedPreferences prefs = PreferenceManager
    .getDefaultSharedPreferences(getContext());
if (prefs.contains(KEY_USERNAME)) {
    // name (and password, presumably) already stored
    // disable/hide appropriate UI elements
} else {
    // no user name stored
    // enable/show elements that allow user to make changes
}

根据上述逻辑,您甚至可以决定在setContentView的调用中使用完全不同的布局。