0

我正在尝试在地图中定位商店,这家商店的坐标,我必须从服务器获取它,所以我有两个解决方案,第一个是创建 SQLite 数据库并在我获取信息时更新它,第二个是使用 SharedPreferences 并将数据存储在上面。

所以我从第二个解决方案“SharedPreferences”开始,因为它会快速简单“当用户连接到互联网时,将获取新数据,创建新的 SharedPreferences 并替换旧的”。

问题是我没有找到如何在 SharedPreferences 中创建包含多个这样的数据:

shop 1
   +name
   + coordinate X
   +coordinates Y
shop 2
   +name
   + coordinate X
   +coordinates Y
shop 3
   +name
   + coordinate X
   +coordinates Y
...

我刚刚发现如何添加例如您的姓名或时间(键/值)并更新它

谢谢你

4

1 回答 1

1

您可以在循环中执行此操作:

...
String data = name + ", " + coordinateX + ", " + cordinateY;
SharedPreferences prefs = this.getSharedPreferences("your.shared.preferences", Context.MODE_PRIVATE);
String savedShop = "your.shared.preferences.shop" + i;
prefs.edit().putString(savedShop , data).commit();

然后,如果您想查找您的数据,请加载您的 SharedPreferences 并使用StringTokenizer来解析返回的字符串。

顺便说一句,我宁愿使用SQLite:做 CRUD 操作更简单。使用 SharedPreferences 就是自杀。

编辑(在第一次评论我的回答后)

当我开始开发 Android 应用程序时,我问过自己同样的问题 :-D !

检查弗洛的回答:它非常清楚且解释清楚(另请阅读第一条评论)。

于 2013-09-26T10:35:20.850 回答