Android 应用程序设计帮助,如何控制显示哪个活动

3

你好,我需要一些关于如何解决这个问题的建议。由于我还是新手,希望你能耐心听我说一下我的问题。

我有一个活动,在应用程序启动时打开,并需要用户提供一些信息,但下次用户打开应用程序时,我希望应用程序打开一个不同的活动,以显示各种信息。就像Facebook的应用程序一样,当你第一次运行它时,你必须登录,只有下次运行应用程序时,才会直接进入信息流。

有什么高效的方法可以实现这一点吗?

更新:我已经通过共享首选项存储了信息,现在正在使用一个控制器活动来决定下一步该怎么做。因此,控制器活动在启动时运行,并决定是显示登录屏幕还是直接转到信息展示。但是现在我遇到了一个问题,我最终打开了一个空的活动(控制器),然后在其上又打开了另一个活动(决定要显示哪个活动)。我不想显示空白活动,所以它就像一个后台进程,你有什么想法吗?


1
你好,Renno。你可以使用Shared Preferences来存储关于登录名、电子邮件或密码的信息,即使应用程序崩溃,这些信息也会一直保存在整个应用程序中。所以你必须找到一种方法来重复使用这些信息。当用户注销时,请删除所有共享偏好设置。如果需要我可以给你发送代码。 - shvivek
1个回答

1
理想情况下,您应该有一个像控制器一样的主活动。使用SharedPreference对象来跟踪用户是否已登录。因此,在您的主活动中,读取此值,如果设置了,则转到新闻提要活动,否则显示登录屏幕活动。(当您进行检查和重定向时,可以显示进度对话框)
SharedPreferences链接 MobTuts Android Developer

你好,silverback,感谢回复。现在这就是我最初的想法,但是,你看到了“控制器”活动,我如何阻止这个活动的显示?因为我不希望这个活动被显示然后再显示重定向的活动。 - rennoDeniro
你需要在某个地方做出决定(显示哪个屏幕),对吧?实际上从SharedPreference中读取不会花费太多时间。你可以显示一个启动画面。 - midhunhk
我理解您的问题,但我的问题是,如果我实现一个控制器活动,如何使其不可视化。 当目前有一个活动可以选择登录或显示信息时,它首先显示空白活动,然后做出决定并打开下一个活动,我该如何防止这种情况发生? - rennoDeniro
你可以展示一些启动画面,而不是一个空的活动界面,以便你在决定之前给用户带来更好的体验。 - midhunhk
有趣,我能否删除/玩弄设置的内容视图? - rennoDeniro
我猜那也可以做到,决定显示什么并相应地使用xml id设置setContentView。当然,您的Activity代码将不得不处理来自两个页面的控件的情况。 - midhunhk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接