在Android中,如何重定向到主页而不转到标题和登录页面?
我是android编程新手。我正在开发一个简单的应用程序,让用户可以预订电影票。在我的清单文件中,开始活动是标题页。当我们按回车键时,它显示登录页面。登录后,将有一个主页,其中有一些功能和注销按钮 我使用SharedReference来维护会话。但我有一个问题。在Android中,如何重定向到主页而不转到标题和登录页面?,android,session,Android,Session,我是android编程新手。我正在开发一个简单的应用程序,让用户可以预订电影票。在我的清单文件中,开始活动是标题页。当我们按回车键时,它显示登录页面。登录后,将有一个主页,其中有一些功能和注销按钮 我使用SharedReference来维护会话。但我有一个问题。 在未注销的情况下关闭应用程序并再次打开应用程序后,将显示标题页和该登录页之后。 但我需要显示主页,而不去标题和登录页面。怎么做 我在谷歌上搜索了一下,并尝试了很多例子。我找不到答案。 这与清单启动活动或什么有关?您可以将检查登录状态的逻
在未注销的情况下关闭应用程序并再次打开应用程序后,将显示标题页和该登录页之后。
但我需要显示主页,而不去标题和登录页面。怎么做 我在谷歌上搜索了一下,并尝试了很多例子。我找不到答案。
这与清单启动活动或什么有关?您可以将检查登录状态的逻辑放在标题活动中,然后您的应用程序将决定下一步加载哪个活动(如果未登录,则为loginactivity,如果已登录,则为homescreen)。显然,用户登录后,您也会从登录活动加载主屏幕。这很简单。看看这个例子。密码会说出来的
if (isLoggedIn()) {
//user is already logged in!
gotoHome();
} else {
//user is logged out!
goToTitlePage();
}
isLoggedIn功能
public boolean isLoggedIn() {
Boolean mIsLoggedIn = getSharedPreferences("login_status_key",
MODE_PRIVATE).getBoolean("login_status_value"),
false);
return mIsLoggedIn;
}
成功登录时存储登录状态值。
getSharedPreferences("login_status_key",
MODE_PRIVATE).edit().putBoolean("login_status_value"),
true).commit();
getSharedPreferences("login_status_key",
MODE_PRIVATE).edit().putBoolean("login_status_value"),
false).commit();
在您成功从应用程序注销时编辑登录状态。
getSharedPreferences("login_status_key",
MODE_PRIVATE).edit().putBoolean("login_status_value"),
true).commit();
getSharedPreferences("login_status_key",
MODE_PRIVATE).edit().putBoolean("login_status_value"),
false).commit();
为您的应用程序创建SplashScreen,然后编写以下代码:
SessionManager session=new SessionManager(Splash.this);
if(session.isUserLoggedIn()){
new Handler().post(new Runnable() {
@Override
public void run() {
boolean isloggedin=preftandp.getBoolean(Constants.LOGGED_IN false);
if(isloggedin)
{
startActivity(new Intent(LoginActivity.this,HomeActivity.class));
finish();
}else{
startActivity(new Intent(Splash.this,LoginActivity.class));
finish();
}
}
});
逻辑很简单。坐在启动屏幕上,您可以根据共享的首选项值决定启动哪项活动。您可以在问题中提供代码以供审阅吗?谢谢:)您所说的“preftandp”是什么意思?它显示了LoginActivity。这不是一个封闭类。另外,请您解释一下这行代码:“boolean isloggedin=preftandp.getBoolean(Constants.LOGGED_IN false);”?preftandp是共享首选项,您可以在其中存储用户是否登录。很好。知道了。但显示LoginActivity不是封闭类的错误。为什么呢?我该怎么办?