我有一个用户可以登录的应用程序,每个用户都有不同的个人资料。我们维护单独的数据库,单独的共享首选项,每个配置文件具有不同的名称。每当我们切换配置文件时,我们都会从各自的数据库/共享首选项中获取数据。
是否有任何 API 可以像为多个配置文件维护单个数据库/共享首选项一样 - 例如每个配置文件都有一个单独的应用程序数据,因此我们不需要为每个配置文件创建具有不同名称的单独共享首选项/db。每个配置文件可以具有具有相同名称的共享首选项/数据库。因此,每个配置文件都有自己的应用程序数据,但相同的共享首选项/数据库名称。
我想 android 中的帐户将具有单独的应用程序数据,但在这里我们需要为配置文件提供单独的应用程序数据。
可悲的是,这里没有捷径。
在数据库中,在具有特定于配置文件的数据实体的每个表中,都需要一列来表示用户名/帐户名(或者标识配置文件)。 对表的所有查询都需要在 WHERE 子句中包含配置文件名称,以获取该配置文件的数据。
在您的首选项中,您可以将配置文件名称附加到首选项键,以使其成为该配置文件的首选项。 在我的应用程序中,我创建了一个静态getKey()
方法来获取当前用户名并将其附加到密钥,然后返回该密钥。