我有一个小的android问题,我需要有一个计时器来计算从特定活动打开到该活动中的某个按钮被点击的持续时间,活动打开的时间。虽然谷歌搜索我发现TimerTask,但这似乎只运行一个线程一段时间,而且doesent似乎是我的小Android体验的工作的理想
关于如何计算持续时间的任何想法?优选地,以非常简单的方式
非常欢迎任何帮助
此致 MilindaD
答案 0 :(得分:18)
只需使用System.currentTimeMillis()
来捕获活动开始和停止的时间。 E.g:
long startTime = System.currentTimeMillis();
// wait for activity here
long endTime = System.currentTimeMillis();
long seconds = (endTime - startTime) / 1000;
答案 1 :(得分:3)
从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
答案 2 :(得分:0)
如果您想了解活动开放的时间。
您可以在
中编写相应的代码onCreate()方法和onDestory() 方法。 或
- onResume()方法onPause()方法。
取决于您的需要。
并使用以下代码
long t1 = new Date().getTime();
long t2 = new Date().getTime();
long t3 = t2 - t1;
答案 3 :(得分:0)
group:“ org.apache.commons”,名称:“ commons-lang3”
StopWatch stopWatch = new StopWatch();
stopWatch.start();
...
stopWatch.stop();
stopWatch.getTime(TimeUnit.SECONDS);