用于登录的android模式

时间:2012-09-04 12:13:30

标签: android android-activity

我想看看您如何处理Android上的登录问题。我正在开发一个应用程序,需要您登录才能使用。到目前为止我有两项活动。主屏幕和登录屏幕。我已经这样设置了。

登录屏幕是主屏幕。它要求用户登录。如果登录成功,则启动主屏幕,并在登录活动中调用完成。当用户注销时,我完成了主屏幕活动并开始登录活动。

这不能正常工作,因为当我离开应用程序然后返回时,即使在成功登录后,登录屏幕也会显示。

我在想,我必须跟踪用户登录或不登录服务的天气。然后,如果我已登录,登录活动将自动启动主屏幕。

或者,如果用户未登录,我可以启动将启动登录屏幕的主屏幕活动。

此类情景的典型Android模式是什么?

1 个答案:

答案 0 :(得分:0)

首先,为了更有条理,您应该在此类中创建类似MyApplication extends Application的内容,您可以在onSessionsCreated上创建静态方法并传递一个布尔值,这意味着显示或不显示您的主屏幕(不是登录屏幕)。

public static void onSessionCreated(Context context,CurrentFan currentFan,boolean startMainScreenActivity){      if(startMainScreenActivity){                 Intent intent = new Intent(context,MainActivity.class);                 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);                 context.startActivity(意向);             }

如果你正在使用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类

我认为这应该是一个好方法。希望对你有用。

相关问题