哪些活动将成为主要活动?

时间:2017-04-26 10:21:05

标签: android android-studio

我几周前刚学习android开发,我有一个简单的问题:

让我们说我想建立一个像Facebook一样的应用程序,它有LoginActivity和NewsFeedActivity。

如果用户已经登录,则每当用户打开应用程序时,NewsFeedActivity将成为默认屏幕。

所以,在这种情况下,MainActivity的最佳方案是什么?是登录屏幕还是新闻Feed?

谢谢

7 个答案:

答案 0 :(得分:1)

在大多数应用程序中,MainActivity是SplashActivity。当用户使用您的SplashActivity时,您可以决定根据您的业务逻辑将用户导航到正确的场景中。

答案 1 :(得分:1)

通常第一个屏幕,我们将其称为启动画面,我们收集用户信息和任何远程配置,我们只需要第一次启动应用程序时才需要此屏幕调用,并且在成功登录后流程进入登录屏幕后,您可以维护并标记为共享喜欢(Boolean isUserLoggedIn)以及用户再次打开应用程序后,它会将您带到Feed屏幕。

Flow就像Splash屏幕(如果你想) - > LoginScreen(如果没有登录) - > Feed或HomeSreen。

如果用户已登录,则SplashScreen-> HomeScreen直到用户无法注销流程始终只是这样。

如果你觉得有任何问题可以再次问我,我希望我能稍微澄清你的疑问。谢谢!

答案 2 :(得分:1)

最好的办法是使登录活动成为启动器的活动。 如果用户已登录,则会转到新闻Feed活动。

答案 3 :(得分:1)

将MainActivity视为App Luncher活动。每当应用程序启动时,都应该调用它。

在MainActivity中,您可以根据各种因素导航到其他活动。例如,如果他已经登录,则将他带到新闻源,如果不是登录活动。

根据您在MainActivity中停留多长时间,您可以为其添加布局并将其用作初始屏幕。

希望它有所帮助。

答案 4 :(得分:1)

假设你有一个LoginActivity用于登录验证并重定向到新闻Feed(NewsFeedActivity)。

在用户尚未登录的 LoginActivity 内部主要活动,您可以使用OAuth2检查某些身份验证,具体取决于您决定用户是否有效。

OAuth2令牌具有有效期,因此下次用户在令牌过期之前登录时,不会再次执行所有身份验证检查,并直接重定向到NewsFeedActivity。

如果用户有效,则LoginActivity将根据用户的身份开始新的活动。

这取决于您最终如何设计应用程序。没有办法做到这一点。

答案 5 :(得分:0)

对于我的正常练习,应用程序中有一个BaseActivity,用于每个活动中始终需要的功能。 LoginActivity和NewFeedActivity应该扩展BaseActivity。启动应用时,您可能会有登陆活动,因此如果已登录则重定向到NewFeedActivity,否则请登录loginActivity。

答案 6 :(得分:0)

在android中只有活动,每个活动都可以是任何名称,包括MainActivity。你根本不应该关注MainActivity概念。您可以有两个活动,LoginActivity和NewsFeedActivity(也许还有一个名为SplashActivity的活动,希望您已经对启动画面有所了解,或者您可以查找它)。在新闻源中,每个标签都可以有不同的片段。