【发布时间】:2018-11-18 06:07:37
【问题描述】:
在我的 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 个。我通常使用这种存储来存储一些设置左右,但我认为这也是一种存储值的简单方法,我不想使用数据库或类似的东西进行存储。
【问题讨论】:
-
如果你想向用户显示所有“访问过”的地方会发生什么?您可能希望更早地使用
Sqlite。你不会用SharedPreferences能力来限制自己,但你会拥有更多的灵活性。 SharedPreferences 一般用于存储简单的设置键/值等原始数据,方便访问。 -
我不想使用数据库或任何类似的东西进行存储。 - 你认为你不想,但你这样做
-
不要害怕使用 SQLite。有很多很棒的图书馆,比如 Room developer.android.com/training/data-storage/room
-
@wotan 你不想使用像 SQLite 和 parse.com 这样的数据库
-
Ozgur - 例如,当我想显示所有访问过的地方时,我将简单地检查该地方是否存储在“for”循环中的 SharedPreferences 中。这些位置是从 JSON 加载的,当我解析它时,我可以立即检查名称是否存储为 SharedPreference。但我会按照你们中的更多人的建议尝试研究有关 SQL lite 的内容
标签: android local-storage android-sharedpreferences