android共享首选项高分的例子?

时间:2011-03-21 22:29:43

标签: android preferences shared

您好 我想知道是否有使用共享偏好实现高分列表的简单示例?即在开始时预先确定了高分,然后根据用户获得的分数更新列表?

3 个答案:

答案 0 :(得分:2)

如果您想使用共享首选项,问题是您无法真正存储列表或类似内容。共享首选项仅支持boolean,float,int,String,long和Set。

所以你最好的选择是Set。在那里,您可以将高分的每个值转换为字符串,将其添加到Set中,然后将此集存储在共享首选项中。

在启动应用程序期间,您可以检索集合,将字符串转换回int或用于表示高分的任何内容。

参见例如此方法:

http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#putStringSet(java.lang.String,java.util.Set)

修改

正如MisterSqounk指出的那样,Set仅在API Level 11之后可用。因此,如果你在下面进行编码,我建议使用诸如highscore1,highscore2之类的密钥直接将值存储为int。高分值可以迭代所有键并使用SharedPreferences#contains(String key)来检查值是否可用。

答案 1 :(得分:0)

前段时间,我实施了一个库来使用MEMDISKCACHE& SHAREDPREF为GENERIC_STORE 您甚至可以存储/检索Serializable java对象。 例如。为了满足您的需求,只需创建一个自定义的Serializable Java对象,然后就可以开始了。

我已在我的应用程序中使用此功能(即使是大量的Facebook照片数据), 效果很好,就像抽象层一样。

如果有兴趣的话,这里是来源。 https://github.com/wareninja/generic-store-for-android

答案 2 :(得分:0)

如果您仍在寻找解决方案,Swarm's Leaderboards系统看起来很不错。提供了一个简单的解决方案,可以为游戏添加可自定义的排行榜,并且非常容易使用。