我有一个小的Android问题,我需要计时器来计算从特定活动打开到在该活动中点击某个按钮的时间间隔,即活动打开的持续时间。 在谷歌搜索时,我找到了TimerTask,但它似乎仅针对一定时间间隔运行线程,从我的少量Android经验来看并不理想。
您有任何关于如何计算持续时间的想法吗? 最好以非常简单的方式实现
欢迎任何帮助
此致, MilindaD
只需使用System.currentTimeMillis()
来捕获活动开始和停止的时间。例如:
long startTime = System.currentTimeMillis();
// wait for activity here
long endTime = System.currentTimeMillis();
long seconds = (endTime - startTime) / 1000;
从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
如果您想查找活动打开的时间长短。
您可以在以下方法中编写相应的代码
onCreate() 方法和 onDestory() 方法。 或者
- onResume() 方法和 onPause() 方法。
根据您的需求使用以下代码
long t1 = new Date().getTime();
long t2 = new Date().getTime();
long t3 = t2 - t1;
组: 'org.apache.commons',名称: 'commons-lang3'
StopWatch stopWatch = new StopWatch();
stopWatch.start();
...
stopWatch.stop();
stopWatch.getTime(TimeUnit.SECONDS);