0

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

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

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

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

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

这种场景的典型安卓模式是什么?

4

1 回答 1

0

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

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

如果您使用 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 类

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

于 2015-02-01T21:54:27.527 回答