gpt4 book ai didi

android - 将多个值存储为 SharedPreference 是个好主意吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:33 25 4
gpt4 key购买 nike

在我的 Android 应用程序中,我有大约 100 个位置(最多 200 个)。我想让用户将每个地方标记为已访问并存储此选择。

因此用户可以标记/取消标记他已经访问过一些地方/城市。

如果我将值存储为 SharedPreference 是个好主意吗?

我的代码:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("London", "1");
editor.commit();

下次当用户标记另一个地方时:

editor.putString("Paris", "1");

我问的是可能有多少地方可以存储在那里,在我的例子中最多 200 个。我通常使用这种存储只是为了存储一些设置左右,但我认为这也是一种在我的情况下存储值的简单方法,我不想使用数据库或任何类似的存储。

最佳答案

这是否是个好主意取决于您的要求和期望。如果您像这样存储数据,它肯定可以工作,但是会有一些限制:

  • 向用户显示地点列表可能会很复杂。如果您将一些其他数据存储到共享首选项中,您将需要一种方法来区分地点和其他数据。在这种情况下,您可能需要为所有键添加前缀,例如“place_London”、“place_Paris”等。
  • 您依赖英文键名,因此如果您支持其他语言,您可能会遇到本地化问题
  • 支持版本控制和可扩展性将变得更加困难。例如。如果稍后您有一个名为“Place”的实体,并且它包含的信息不仅仅是带有标志的名称,那么将其保留在共享首选项中将变得更加困难。例如。如果在某个时候你想为所有地方添加一个相应的国家名称,你会怎么做?

我认为在这种情况下,您实际上确实想要使用数据库。它会得到返回。

关于android - 将多个值存储为 SharedPreference 是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50756245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com