我正在制作一个具有登录表单的应用程序,所以我需要让用户只输入他的用户名和密码一次,这意味着在输入所有详细信息后,无需再次重新输入详细信息,否则他会注销。我达到了可以将数据保存在共享首选项中的地步,但我想要的是我的应用程序在重新启动时运行登录
问问题
2569 次
2 回答
6
用户成功登录后,将他的信息存储在您的首选项中。
例如,要存储用户名:
private SharedPreferences mPreferences;
mPreferences = getSharedPreferences("User", MODE_PRIVATE);
SharedPreferences.Editor editor = mPreferences.edit();
editor.putString("username", your_user_name);
editor.commit();
每次用户访问登录活动时,您可以检查用户名是否已存储在首选项中:
if (mPreferences.contains("username")) {
// start Main activity
} else {
// ask him to enter his credentials
}
当用户注销时,不要忘记从您的首选项中删除用户名键:
SharedPreferences.Editor editor = mPreferences.edit();
editor.clear(); // This will delete all your preferences, check how to delete just one
editor.commit();
在您的 AndroidManifest.xml 中,您还可以添加这一行,这样用户就无法返回登录页面:
<activity
android:name="your login activity"
android:noHistory="true" >
</activity>
于 2013-08-23T00:03:06.290 回答
0
创建您的主要活动并检查用户是否已登录。如果他未登录,则将您的用户重定向到登录页面(并完成其他活动,否则用户可以点击返回按钮返回您的主要活动)。
如果您这样做,您的用户在登录时不必加载 2 个屏幕,这会减少启动时间。
于 2013-08-22T21:13:00.923 回答