使用Java.Util.Timer创建SOS信号

时间:2014-10-04 11:25:01

标签: java android timer led

我想创建一个Android应用程序,使用手机上的手电筒执行SOS信号,我知道如何控制闪光灯。

这就是我想用闪光灯做的事情:

1) Flash light on for 1 second
2) Flash light off for 1 second
3) Flash light on for 1 second
4) Flash light off for 1 second
5) Flash light on for 1 second
6) Flash light off for 1 second

7) Flash light on for 3 seconds
8) Flash light off for 1 second
9) Flash light on for 3 seconds
10) Flash light off for 1 second
11) Flash light on for 3 seconds
12) Flash light off for 1 second

13) Flash light on for 1 second
14) Flash light off for 1 second
15) Flash light on for 1 second
16) Flash light off for 1 second
17) Flash light on for 1 second
18) Flash light off for 1 second

如何使用java中的timer类完成此操作?

1 个答案:

答案 0 :(得分:0)

这样做的最佳方法是创建一个包含所有字母表定义的类及其在摩尔斯电码中的等价物。也可以添加数字。这样你甚至可以输入任何文字,而不仅仅是SOS。

如果SOS是你唯一的目标,那么创建一个类可能是一种矫枉过正但仍然很好的做法。

查看Timer类的文档

http://docs.oracle.com/javase/7/docs/api/java/util/Timer.html<<更新链接

这是我在下面的例子中使用timer类的方法。因此,对于您的SOS,您可以添加一个forloop来运行序列这么多秒,并且还可以控制LED灯。

public void schedule(TimerTask task,
            long delay,
            long period)

//使用计时器

import java.util。*;

公共类TimerDemo {

public static void main(String[] args) {
    // declare and create task
    TimerTask taskNew = new TimerTask() {
        // runs our task
        @Override
        public void run() {
            System.out.println("Timer running...");

        }
    };
    // declare and create timer
    Timer myTimer = new Timer();


    /* schedule the timer (task scheduled, delay in ms before task is
     * execution, period in ms between successive tasks executions
     */
    myTimer.schedule(taskNew, 500, 1000);

}

}

我希望这能提供一个更好的例子。