我需要执行占空比功能以在某些时间段内使用级联计时器运行两个操作,例如在使用 timer1 运行操作 1 的 ON 时间段(x 秒)以及当计时器 1 完成时,然后是第二个关闭时间段(y 秒)使用 timer2 运行操作 2 并很快重复该场景。我是初学者程序员
请任何人帮助我正常运行。
我试图编写下面的代码,它看起来像:
package com.example.periodictimer;
公共类 MainActivity 扩展 Activity {
Timer t1 = new Timer();
Timer t2 = new Timer();
TimerTask mTimerTask1;
TimerTask mTimerTask2;
TextView tv1;
TextView tv2;
boolean z;
Handler hand = new Handler();
Handler hand1 = new Handler();
Button hButtonStart;
int time =0;
int time1 =0;
boolean flag1;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.tv1);
tv2 = (TextView) findViewById(R.id.tv2);
doTimerTask1();
} 公共无效 doTimerTask1(){
mTimerTask1 = new TimerTask() {
public void run() {
hand.post(new Runnable() {
public void run() {
time++;
tv1.setText("Execute Operation1: " + time);
doTimerTask2();
}
});
}
};
// public void schedule (TimerTask task, long delay, long period)
t1.schedule(mTimerTask1,0, 3000); //
}
公共无效doTimerTask2(){
mTimerTask1 = new TimerTask() {
public void run() {
hand.post(new Runnable() {
public void run() {
time1++;
// update TextView
tv2.setText("Execute Operation2:" + time1);
//Log.d("TIMER", "TimerTask run");
}
});
}};
// public void schedule (TimerTask task, long delay, long period)
t1.schedule(mTimerTask2,500, 5000); //
}
}