【发布时间】:2012-08-17 21:55:23
【问题描述】:
我的应用目前没有崩溃,但我们正在努力让它变得非常健壮,我们正在做的一件事是跟踪“某些事件”的时间,直到它被用户手动停止。
我的预期实现
这就是我计划实施的方式。我打算这样做,所以当他们提交初始“事件”时,它开始计时并在我们的 SQLite 数据库中启动初始时间和事件的其余部分。然后在同一个提交屏幕上会出现一个按钮,用于停止对事件进行计时。我们希望对事件进行准确的时间跟踪。我会在首选项中设置一个标志,表示有一个正在进行的事件和另一个具有唯一 ID 的首选项。
关注
所以我担心的是:如果应用程序崩溃或发生了不好的事情,我想给这个人一个选项来更改事件的结束时间。 我打算通过以下两种方式之一来做到这一点: 1.检查应用程序何时再次启动(如果有办法这样做),询问标志是否仍然设置,以及应用程序是否刚刚启动。然后给他们这个选项进行编辑。 2. 如果存在,调用onTerminate 方法或android 在关闭时使用的something,即使它崩溃了。再说一次,我不知道这是否存在。
有什么建议吗?
【问题讨论】:
-
听起来您正在寻找用户持久数据。 :) stackoverflow.com/a/3310108/940834
-
对不起,这不是我要问的,但谢谢!我已经使用了持久数据,我的问题是更多我可以找出应用程序是否刚刚打开?因为我有很多视图,所以经常调用 onCreate,通常不是在应用程序第一次打开时调用。其次,我想知道是否有一个总是在 android 上调用的方法,无论它是关闭还是崩溃。在我看来,它会被称为 onTerminate 或 onCrash 之类的。
-
再次澄清,我很放心我的数据是安全的,我一点也不担心它的存储。
-
@jQwierdy,Doomsknight- 我认为 Doomsknight 想说的是,您将使用持久数据来存储应用程序刚刚打开或成功关闭。如果您打开您的应用并且持久性数据显示该应用已经打开,那么您就遇到了崩溃。
-
如果您在市场上发布了您的应用,我相信 Android 会自行向您发送这些统计信息(只要用户在 ANR/崩溃对话框弹出时点击“发送报告”).. . 至少从 Froyo 开始,Android 2.2。
标签: android robustness