【问题标题】:Best way to keep highscore in Android在 Android 中保持高分的最佳方法
【发布时间】:2013-05-04 01:06:14
【问题描述】:

为测验应用程序获得高分的最佳方法是什么?我倾向于共享偏好,但我希望在高分页面的分数中包含日期/时间和玩家姓名。使用分数忍者会不会过火?

这是我第一次进入 Android 世界,我口袋里只有我读过的东西。如果有人能给我提供建立高分活动的实际经验,我将不胜感激......

【问题讨论】:

  • 您仍然可以在 SharedPreferences 中保存您的日期/时间和玩家姓名。听起来这是最好的选择。
  • 您想与其他设备分享高分吗?还是仅供个人使用?
  • 我认为 SharedPreference 是...谢谢您的所有 cmets 和回答

标签: android scoring persistent-data


【解决方案1】:

如果您要存储许多高分,并且您存储的不仅仅是分数,我建议您使用SQLite Database

SharedPreferences 非常适合存储稀疏数据(例如,设置、单个分数)。当您开始存储前 10 名分数或不确定数量的分数以及获得日期和某种名称时,SharedPreferences 处理起来会有点尴尬。再加上存储一个包含许多不同字段的高分表,简直就是尖叫“数据库!”

【讨论】:

  • 是的,我会去的。这是我使用的四个类:android.database.Cursor、android.database.sqlite.SQLiteDatabase、android.database.sqlite.SQLiteDatabase.CursorFactory 和 android.database.sqlite.SQLiteOpenHelper。 SQLite 创建一个只有一个文件的 db,它非常轻量级。
【解决方案2】:

这取决于你究竟追求什么。如果您只是要显示具有时间和日期以及玩家姓名的 1 号高分值,那么共享偏好就可以了。

如果您打算显示前 10 名的球员姓名、日期和时间,那么最好使用 sqlite 数据库。请记住确保只在数据库中保留所需的记录数量。 IE。如果您只显示前 10 名高分,请维护数据库以删除第 11 名和更低的高分,因此最多只有 10 行,不要只是继续向数据库添加行,而仅将前 10 名显示为这最终会填满设备空间。

如果您想跨设备同步高分,数据库也会更容易,或者其他第三方库也可以满足此要求。

希望对你有帮助

【讨论】:

  • 请记住,SharedPreferences 是 Android 手机上的纯 XML 文本文件。因此玩家可以在有根设备上轻松修改他的分数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多