在Android上处理登录的最佳方式
现在我有三项活动:在Android上处理登录的最佳方式,android,login,Android,Login,现在我有三项活动: HandleActivity LoginActivity main活动 当用户打开应用程序时,HandleActivity检查用户是否已登录,如果已登录,则打开main活动,如果用户未登录,则打开登录活动 MainActivity onCreate() { if(isLoggedIn) loadContent() else redirectToLoginActivity() } 是否有更好的方法在Android上实现登录?如果您使用
HandleActivity
LoginActivity
main活动
HandleActivity
检查用户是否已登录,如果已登录,则打开main活动
,如果用户未登录,则打开登录活动
MainActivity onCreate() {
if(isLoggedIn)
loadContent()
else
redirectToLoginActivity()
}
是否有更好的方法在Android上实现登录?如果您使用的是共享首选项,请检查共享首选项(如果有数据),然后转到主活动或其他登录活动。。 如果使用数据库存储数据,则检查表数据的大小
try {
if (UserdataController.getSingletonInstance().getUserdata(this).size() > 0) {
Fragment dashboardFragment = new DashboardFragment();
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.framlayout, dashboardFragment);
// fragmentTransaction.addToBackStack("dashboard");
fragmentTransaction.commit();
} else {
Fragment loginFragment = new LoginFragment();
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.framlayout, loginFragment);
fragmentTransaction.commit();
}
}
catch (SQLException e){
}
您不必具有
HandleActivity
。当用户打开应用程序时,始终显示您的main活动
。如果用户未登录,请重定向到LoginActivity
MainActivity onCreate() {
if(isLoggedIn)
loadContent()
else
redirectToLoginActivity()
}
我不知道你的问题是否足够清楚,是否会得出所有基于意见的答案。看看这个:对于你要问的问题,我建议你看一下:对于你的代码审查。嗨,我意识到我不需要HandleActivity,相反,我已经开始使用Login活动作为launcher活动。如果用户已登录,则转到主活动。你觉得这个解决方案怎么样?您认为将MainActivity作为启动器活动更好吗?将
MainActivity
作为启动器更好。因为您的用户可能只需要登录一次。但他们会希望在打开应用程序时看到主要内容。因此,如果您将登录活动放在第一位,将至少有1-2秒的延迟。谢谢ozgur gul!已经实施了您的解决方案,效果非常好!