在 Sharedpreferences 中保存用户数据或在每个会话中从 firebase 检索数据

Saving User datas in Shared Prefererences or Retrieving datas from firebase in every session

我正在使用 android studio 和 firebase 为我的学校开发一个基于角色的应用程序。我无法决定如何显示或控制用户数据。

例如,我正在使用 firestore 来存储用户数据;姓名,角色,class。 当用户启动 activity 时,activity 应该从它自己的文档中获取用户数据,对吗?

但我不想在每次部署应用程序时都读取数据。所以我使用共享首选项来存储数据。然而,它使代码复杂化并降低了可重用性。 此外,由于我的应用程序是基于角色的,因此很难通过共享首选项

检查用户是否为管理员

在每次部署应用程序时读取用户文档

赞成:除了bill

,一切似乎都很好

缺点:读取操作的账单

存储在共享首选项中

优点:似乎经济

const:代码复杂,复用性低,if else count高


哪个更好?

或者您有什么建议吗?

数据库和本地存储有 2 个不同的用例。既然你说你需要检查用户是否是管理员,你可能需要一个互联网上的数据库来验证你自己,而不是将它存储在本地设备上。

如果您不需要在 devices/users 之间验证任何内容或共享数据或其他任何内容,您可以使用本地存储。但是共享首选项应该用于存储小数据,仅 key-value 数据。如果你想存储更复杂的数据和更一般的数据,使用sqlite(https://developer.android.com/training/data-storage/room).

至于计费,如果价格是个问题,您可以随时使用 postgresql 数据库设置自己的 http 服务器。