1

我正在制作一个具有登录表单的应用程序,所以我需要让用户只输入他的用户名和密码一次,这意味着在输入所有详细信息后,无需再次重新输入详细信息,否则他会注销。我达到了可以将数据保存在共享首选项中的地步,但我想要的是我的应用程序在重新启动时运行登录

4

2 回答 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 回答