我想看看你的想法如何处理登录安卓。我现在在一个应用程序上工作,需要您登录才能使用。到目前为止,我有两个活动。主页屏幕和登录屏幕。我是这样设置的。
登录屏幕是主屏幕。它要求用户登录。如果登录成功,它将启动主屏幕,并在登录活动中调用finish。当用户注销时,我完成了homescreen活动并启动了登录活动。
这不能正常工作,因为当我离开应用程序然后返回时,即使在成功登录之后,登录屏幕也会显示出来。
我在想,我将不得不跟踪用户是否登录在服务中。然后,如果我已登录,登录活动将自动启动主屏幕。
或者,我可以启动homescreen活动,如果用户未登录,该活动将启动登录屏幕。
这类场景的典型android模式是什么?
发布于 2015-02-02 05:54:28
首先,为了更有条理,你应该在这个类中创建类似MyApplication extends Application的东西,你可以创建一个静态方法onSessionsCreated,并传递一个布尔值,表示显示或不显示你的MainScreen(不是登录屏幕)。
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);static intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);onSessionCreated(Context context,CurrentFan currentFan,boolean intent ){ if (startMainScreenActivity) { Intent =新的Intent(context,MainActivity.class);public static void context.startActivity(context,startMainScreenActivity);}
如果你正在使用MVC,你应该创建一个SessionsController来在你的API中登录用户,之后在回调登录时,你应该调用传递给当前用户的onSessionCreated。
if (activity instanceof LoginActivity)
((LoginActivity)mActivity).onSessionCreated(user);然后在你的LoginActivity中,你可以调用:
public void onSessionCreated(User currentUser) {
MyApplication.onSessionCreated(this, currentUser, true);
finish();
}使用此模型,您将:-使用MVC模型-使用API以用户身份登录-使用MyApplication类
我认为这应该是一个很好的方法。希望能对你有所帮助。
https://stackoverflow.com/questions/12263264
复制相似问题