我正在实现一个新应用程序的登录片段。我正在处理将访问令牌保存在某个地方的问题,以便在应用程序中的每个呼叫中使用它。
我在想我应该把它保存在哪里。我应该像往常一样使用共享首选项,还是应该以一种我不知道的方式使用viewModel,以便将令牌存储在那里?
问题是,如果我将accessToken存储在LoginViewModel中,我将需要在需要accessToken的每个视图中调用该viewModel。这似乎不是最好的选择。
有什么想法吗?谢谢
发布于 2020-01-31 01:55:31
视图和它的视图模型之间通常是一对一的关系,这意味着ViewModel用于为视图或页面提供逻辑。如果您的需求是在应用程序的页面中使用该令牌,则ViewModel不是一个选项,因为如果您必须在登录页面以外的其他视图中提供LoginViewModel,那么它就没有意义。
对我来说,将令牌保存到共享首选项中是更好的方法,而且它很简单,实现起来非常简单。如果您想保存来自ViewModel的共享首选项值,则可以使用AndroidViewModel,因为AndroidViewModel将提供可用于创建共享首选项的上下文。
https://stackoverflow.com/questions/59843558
复制相似问题