计算持续时间

发布于 2024-10-30 15:57:31 字数 212 浏览 0 评论 0原文

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

。关于如何计算持续时间有什么想法吗?最好以非常简单的方式

非常欢迎任何帮助

问候, 米琳达D

I have a small android problem, I have a requirement to have a timer to calculate the duration from the time a specific activity was open till a certain button in that activity is clicked, simply how long the activity was open. While googling around I found TimerTask but this seems to run a thread for a certain interval only though and doesent seem ideal for the job from my little Android experience

Any idea on how to calculate the duration? Preferably in a very simple manner

Any help is very welcome

Regards,
MilindaD

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

橘虞初梦 2024-11-06 15:57:31

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

long startTime = System.currentTimeMillis();
// wait for activity here
long endTime = System.currentTimeMillis();
long seconds = (endTime - startTime) / 1000;

Just use System.currentTimeMillis() to capture the time when the activity starts and stops. E.g.:

long startTime = System.currentTimeMillis();
// wait for activity here
long endTime = System.currentTimeMillis();
long seconds = (endTime - startTime) / 1000;
—━☆沉默づ 2024-11-06 15:57:31

从 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

As of Java 8 there is more convenient way of doing this.

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

Benefit of this approach is more flexible API provided by the Duration class.

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

凯凯我们等你回来 2024-11-06 15:57:31

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

您可以在

  • 中编写相应的代码

    onCreate() 方法和 onDestory()
    方法。

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

根据您的需要。

并使用以下代码

long t1 =  new Date().getTime();
long  t2 = new Date().getTime();
long t3 =  t2 - t1;

If you want to find out how long activity is open.

You can write respective code in

  • onCreate() method and onDestory()
    method.
    or

  • onResume() method onPause() method.

depending on your need.

and make use of following code

long t1 =  new Date().getTime();
long  t2 = new Date().getTime();
long t3 =  t2 - t1;
饮湿 2024-11-06 15:57:31

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

 StopWatch stopWatch = new StopWatch();
 stopWatch.start();
       ...
 stopWatch.stop();
 stopWatch.getTime(TimeUnit.SECONDS);

group: 'org.apache.commons',name: 'commons-lang3'

 StopWatch stopWatch = new StopWatch();
 stopWatch.start();
       ...
 stopWatch.stop();
 stopWatch.getTime(TimeUnit.SECONDS);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文