我正在使用带有firebase的android studio为我的学校开发一个基于角色的应用程序。我无法决定如何显示或控制用户数据。
例如,我使用firestore存储用户数据;名称、角色、类。当用户启动活动时,活动应该从自己的文档中获取用户数据,对吗?
但我不想在每次部署应用程序时都读取数据。因此,我使用共享偏好来存储数据。然而,它使代码复杂化,降低了可重用性。此外,由于我的应用程序是基于角色的,因此很难从共享偏好中检查用户是否为管理员
在应用程序的每次部署中读取用户文档
专业人士:除了账单之外,一切似乎都很好
cons:读取操作清单
存储在共享首选项中
优点:看起来经济
const:代码复杂,可重用性低,如果else计数高则
哪个更好
或者你有什么建议吗
数据库和本地存储有两个独立的用例。既然你说你需要检查用户是否是管理员,你可能需要在互联网上建立一个数据库来自己验证,而不是将其存储在本地设备上。
如果您不需要验证任何内容或在设备/用户之间共享数据,则可以使用本地存储。但共享偏好应该用于存储小数据,仅用于关键值数据。如果您想存储更复杂的数据和更多的一般数据,请使用sqlite(https://developer.android.com/training/data-storage/room)。
至于计费,如果价格是一个问题,你总是可以用postgresql数据库设置自己的http服务器。