大佬教程收集整理的这篇文章主要介绍了在 Android 的 SQLite 中管理数据库,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在开发简单的 AndroID 应用程序,它可以让我存储玩家、游戏和结果,然后我可以显示一些统计数据(例如结果、玩的游戏、上一场比赛日期、胜利、失败等)。我一直在考虑最好的方法。我想出了几个想法,然后我开始想知道哪个是最好的性能明智的。如何存储这种数据?管理 sqlite 查询的最佳方法是什么?
我有一个包含 3 个表 PLAYERS_table、GAMES_table 和 RESulTS_table 的数据库。结果表如下所示:
GAME_ID | PLAYER_IDS | 分数 | |
---|---|---|---|
0 | 1 | 1,2,3 | 45,33,24 |
1 | 1 | 3,1 | 61,43,36 |
2 | 2 | 1,3 | 55,48,40 |
现在获得每个玩家参加的比赛总数的最佳方法是什么?我最初的想法是从整个 RESulTS_table 表中获取 PLAYER_IDS,然后循环每条记录并检查它是否包含我感兴趣的玩家 ID/游戏 ID。
然后我遇到了第一个问题。如果表增长到 500-1000-2000 条记录怎么办?这是最好的方法吗?获取整个表只是为了高效地获取部分数据。如果我删除数据库的播放器怎么办?我是否应该检查 RESulTS_table 中的所有记录并更新它们,或者可能在显示指定比赛的分数时检查玩家是否存在并简单地忽略它并在 DB 中保留一些无用的数据?
所以我想出了另一个主意。我在 PLAYERS_table 中添加了两列,用于保存上一场比赛的日期和所有比赛的计数器。它解决了计算已进行的比赛并检查玩家上次玩的时间的问题,但是如果我为数据库删除游戏,则必须重新计算所有内容。
是什么让我再次思考。如果我改为单独存储每个玩家的结果会怎样:
表中的记录可能会多出 3 到 4 倍,但这样一来,如果我要删除游戏或玩家,就无需更新任何内容。或者,如果我想计算指定玩家参加的所有比赛,查询会更具体:无需获取整个表格并遍历它以查找指定数据。
或者也许有另一种方式我无法解决问题?有人愿意详细说明并分享一些见解吗?
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的在 Android 的 SQLite 中管理数据库全部内容,希望文章能够帮你解决在 Android 的 SQLite 中管理数据库所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。