9

我有一个小的 android 问题,我需要有一个计时器来计算从特定活动打开到单击该活动中的某个按钮的持续时间,即活动打开的时间。在谷歌搜索时我发现了 TimerTask 但这似乎只在一定的时间间隔内运行一个线程,并且从我的小 Android 经验来看似乎并不适合这项工作

关于如何计算持续时间的任何想法?最好以非常简单的方式

非常欢迎任何帮助

问候, 米琳达

4

4 回答 4

21

只需用于System.currentTimeMillis()捕获活动开始和停止的时间。例如:

long startTime = System.currentTimeMillis();
// wait for activity here
long endTime = System.currentTimeMillis();
long seconds = (endTime - startTime) / 1000;
于 2011-04-06T07:02:58.743 回答
7

从 Java 8 开始,有更方便的方法来执行此操作。

Instant start = Instant.now();
...
Duration.between(start, Instant.now())

这种方法的好处是 Duration 类提供了更灵活的 API。

https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html

于 2019-02-07T14:34:04.343 回答
0

如果您想了解活动的开放时间。

您可以编写相应的代码

  • onCreate() 方法和 onDestory() 方法。或者

  • onResume() 方法 onPause() 方法。

取决于你的需要。

并使用以下代码

long t1 =  new Date().getTime();
long  t2 = new Date().getTime();
long t3 =  t2 - t1;
于 2011-04-06T07:19:21.803 回答
0

组:'org.apache.commons',名称:'commons-lang3'

 StopWatch stopWatch = new StopWatch();
 stopWatch.start();
       ...
 stopWatch.stop();
 stopWatch.getTime(TimeUnit.SECONDS);
于 2019-03-29T16:39:37.730 回答