现在我正在尝试创建一个 Android 应用程序,假设它将是某种“X”概念。所以我正在创建一个登录屏幕。我想做的是,如果我在手机上登录该应用程序,那么每当我尝试访问该应用程序时,它应该始终登录。
例如我们手机中的 Facebook、G-mail 和 yahoo 等
为此该怎么办?
使用共享首选项实现自动登录功能。当用户登录到您的应用程序时,将登录状态存储到sharedPreference中,并在用户注销时清除sharedPreference。
每次用户进入应用程序时检查共享首选项中的用户状态是否为 true,则无需再次登录,否则直接进入登录页面。
要实现此目的,首先创建一个类,在该类中,您需要编写有关共享首选项中的获取和设置值的所有函数。请看下面的代码。
public class SaveSharedPreference
{
static final String PREF_USER_NAME= "username";
static SharedPreferences getSharedPreferences(Context ctx) {
return PreferenceManager.getDefaultSharedPreferences(ctx);
}
public static void setUserName(Context ctx, String userName)
{
Editor editor = getSharedPreferences(ctx).edit();
editor.putString(PREF_USER_NAME, userName);
editor.commit();
}
public static String getUserName(Context ctx)
{
return getSharedPreferences(ctx).getString(PREF_USER_NAME, "");
}
}
现在在主活动(用户登录时将被重定向的“活动”)中首先检查
if(SaveSharedPreference.getUserName(MainActivity.this).length() == 0)
{
// call Login Activity
}
else
{
// Stay at the current activity.
}
在登录活动中,如果用户登录成功,则使用 setUserName() 函数设置用户名。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)