3

我有一些基本的 Java经验和非常基本的 Android 应用程序开发经验(目前正在阅读 Android 无线应用程序开发第一卷)。

我正在尝试开发一个 android 应用程序来跟踪 Beer Pong 统计数据(投篮命中率、获胜率、连胜纪录等)。我希望能够存储这些数据,以便我可以在应用程序中显示排行榜,并将数据传输到我的计算机以进行更复杂的统计分析和永久跟踪。

我将不胜感激有关执行此操作的最佳/最简单方法的一些意见...

1) 存储什么信息? 我想我需要存储用户/玩家姓名并跟踪每一次投篮命中/失误?什么样的格式会有效?

2) 什么时候存放? 我应该在每次拍摄后“提交”这些成功/失败的存储吗?还是在游戏结束时?我想实现一个“返回”或“撤消”按钮来解决错误。这将如何影响我应该存储数据的时间?

3) 如何储存? 基于我有限的安卓应用开发经验,SQLite 数据库是否易于学习和适用?存储到 google excel 文档会很容易(但需要持续的互联网连接)?其他形式的存储会更好吗?

谢谢你和OSS!

4

4 回答 4

1

SQL 数据库将是您最好的选择,并且动态提交对数据库的更改是可以的。

undo / redo 最好使用命令对象设计模式来实现。命令对象可以存储从数据源中为与其关联的用户操作撤销事务所需的信息。只需在用户每次执行操作时将新的命令对象推入堆栈(将其操作的详细信息存储在命令对象中),然后将这些命令对象从堆栈中弹出并在用户点击撤消时调用它们的恢复方法。revert 方法使用创建对象时存储的数据从 SQL 数据库中撤销事务。

命令模式的 Wiki 链接

于 2012-06-19T21:44:39.263 回答
0

SQLite 非常适合设备存储,所以我认为那将是最好的。

我从 thenewboston.com 学习了我的 SQLite,并举了一个例子 - github.com/jordanbtahabsim/Family-Tree

于 2012-06-19T21:43:42.947 回答
0

我认为 SQLite 数据库是您存储的最佳选择。第二个最好但更简单的选择是将信息存储在用户设置中。如果我在你所在的位置,我会从数据中向后工作。我会在 sqlite 中创建表并开始针对数据库编写有趣的查询。有很好的工具可以读取数据库的内容等。所以我会花一些时间在 android 之外的 SQLite 上。然后,当您将其拉入 android 时,将您的访问权限包装在内容提供程序中。

于 2012-06-19T21:45:08.720 回答
0

1) 根据您计划跑步的统计数据类型,您可能需要跟踪许多事情:击中了哪些杯子、击球时的位置、每次击球的杯子数量和位置, 击球是否被反弹等。

2)在游戏结束时提交似乎可以让您压缩存储的信息量,并为您提供更好的错误更正选项。

3)正如其他人所说,SQLite 似乎是数据存储的一个不错的选择,并且不应该太难接受。

于 2012-06-19T21:48:22.400 回答