首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于登录的android模式

问用于登录的android模式
EN

Stack Overflow用户
提问于 2012-09-04 20:13:30
回答 1查看 713关注 0票数 0

我想看看你的想法如何处理登录安卓。我现在在一个应用程序上工作,需要您登录才能使用。到目前为止,我有两个活动。主页屏幕和登录屏幕。我是这样设置的。

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

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

我在想,我将不得不跟踪用户是否登录在服务中。然后,如果我已登录,登录活动将自动启动主屏幕。

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

这类场景的典型android模式是什么?

EN

回答 1

Stack Overflow用户

发布于 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。

代码语言:javascript
复制
 if (activity instanceof LoginActivity)
    ((LoginActivity)mActivity).onSessionCreated(user);

然后在你的LoginActivity中,你可以调用:

代码语言:javascript
复制
public void onSessionCreated(User currentUser) {
        MyApplication.onSessionCreated(this, currentUser, true);
        finish();
}

使用此模型,您将:-使用MVC模型-使用API以用户身份登录-使用MyApplication类

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12263264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档