当前位置: 首页 > 知识库问答 >
问题:

如何用静态编程语言实现时间调度器

宇文和昶
2023-03-14

所以我希望我的应用程序在一定的时间间隔内执行操作。在做了一点研究后,我在stackoverflow上找到了一些答案,它使我找到了这个链接,该链接称为固定RateTimer:这是该页面中的第一个示例

    val fixedRateTimer = fixedRateTimer(name = "hello-timer",
    initialDelay = 100, period = 100) {
    println("hello world!")}

    try {
   Thread.sleep(1000)
   } 

   finally {
   fixedRateTimer.cancel();
   }

当我添加这段代码时,我得到了一个错误。

“表达式'fixedRateTimer'不能作为函数调用。找不到函数'invoke()'变量'fixedRateTimer'必须初始化”

我做了更多的研究并引进了科特林。同时发生的附表*和科特林。同时发生的fixedRateTimer并在第一个上添加了一块代码来初始化它。

所以它修复了第一个块代码,但我刚刚添加的块代码给了我更多的错误。它规定了需要抽象的功能。所以我把它抽象了,但是在crossinline的底部出现了一个错误,说明函数需要内联而不是抽象。

所以我快发疯了,因为我拿的所有代码块都来自文档,所以我不知道为什么会出现这些错误。作为一名初学者,我试图按照文档进行操作,但我每次都会不知所措。在我链接的Stackoverflow页面上还有其他一些答案,比如处理程序和日程安排,但我仍然遇到类似的错误。

那么我该如何使用schedule或fixedRateTimer呢?我希望能有一个循序渐进的例子,这样我就能完全理解我输入的内容

谢谢

共有1个答案

邵献
2023-03-14

选项1:使用此链接:-

https://developer.android.com/topic/libraries/architecture/workmanager/basics

既然你想做一个周期性的任务,你必须使用,

定期工作请求而不是一次性工作请求,您可以在此处设置间隔。

 PeriodicWorkRequest saveRequest =
   new PeriodicWorkRequest.Builder(SaveImageToFileWorker.class, 1, TimeUnit.HOURS)
       // Constraints
       .build();

遵循以下示例:-

https://developer.android.com/topic/libraries/architecture/workmanager/how-to/define-work

注意:-如果你针对应用的最低API是Android 5.0,则可以使用WorkManager API

选项2:

   new CountDownTimer(30000, 1000) {

 public void onTick(long millisUntilFinished) {
     mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
 }

 public void onFinish() {
     mTextField.setText("done!");
 }

}. start();

 类似资料:
  • 我试图将@Age constraint的实现从java复制到Kotlin,我复制了Java代码库,并使用IDE将其转换为Kotlin代码。 Java代码 Intellij生成的对应静态编程语言代码 Kotlin代码导致错误声明“注释类中不允许成员”。将注释类List从Age中移出是否可以解决此问题?还有其他方法可以在另一个类中实现注释类吗? 非常感谢。

  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 如何在静态编程语言中实现等效于遵循Java语句代码?

  • 动机: 在我们的Android项目中,我们有许多验证,比如

  • 如图所示,https://stackoverflow.com/a/16639438/8949356,在Java中,当声明的类是公共类时,可以重写其函数 但是我想知道如何用静态编程语言编写完全相同的代码,我已经尝试了很多,但没有找到任何关于这个主题的东西。我可以在Java中去做这件事,但我的其余代码是用静态编程语言编写的,而且我不能一直带着这种怀疑;静态编程语言对我来说是一个很好的工具,我想学习它。

  • 我想为我的游戏创建一个简单的倒计时,当游戏开始时,我想每秒调用这个函数: 我试过这个: 但应用程序不幸停止,第二次调用run函数 3周前,我刚刚开始使用android开发和静态编程语言,到目前为止,我对它了解最多。 在Xcode中使用swift时,我使用了这一行,我认为类似的东西也适用于Kotlin