我一直在为我的应用程序结构苦苦挣扎。而且看起来这种结构真的让我在开发其他功能时遇到了很多痛苦。所以在继续之前,我想得到一些建议,看看我是否在这里做错了什么。
我的应用程序的目的是连接到服务器,我使用 AccountManager 机制在设备上创建一个帐户并存储一个应该用于从服务器请求数据的令牌。在创建帐户时,一切都很好。(它也可以从设备设置 -> 添加一个帐户)
它是这样的:
MainActivity 是在您启动应用程序时检查您是否有帐户的活动。如果您有帐户,我会在静态变量中获取令牌,以便 MainActivity 中的每个片段都可以访问它。(应该可以工作但没有)否则,我使用 LoginActivity 创建一个意图以在设备上创建一个帐户。问题是我的片段无法获取此令牌,因为当我使用 AccountManager.getAuthToken() 在线程中恢复令牌时,片段是在恢复此令牌之前创建的。因此我无法从我的服务器请求数据。
这让我觉得我的应用程序结构可能不是那么好。所以我在想,“如果我喜欢这样呢?” :
- 用户启动应用程序
- MainActivity 就像一个引导程序,它检查帐户并在设备上有帐户时获取令牌,但不会像当前版本那样生成任何类型的视图。
- MainActivity 要么重定向到 LoginActivity 要么 ContentActivity(让我们这样称呼它,应该使用我的令牌在我的 ListViews 中填充数据的活动)
这种方式让我认为 MainActivity 将有令牌通过,但我不确定它在 UX 方面是否理想。(在访问内容之前必须等待令牌)。在这一点上,我对每一个建议都持开放态度,因为我真的被困住了。
谢谢 !
更新1:
它更多的是登录/注册应用程序逻辑,而不是处理 AccountManager。我已经设法让它们工作了,但我真的在为“最佳实践”应用程序逻辑结构而苦苦挣扎,所以我不会因此而遇到许多其他问题(因为我真的没有时间)。我所需要的只是一个图表或一些东西来向我展示一个“最佳实践”示例,以使我的应用程序按照我上面解释的方式工作。我也遇到了一个问题,因为当我启动 MainActivity 时,它会检查一个帐户,如果没有,它会启动 LoginActivity,但如果我按下回,我可以看到 MainActivity(未填充)。