定时器开关android TimerTask
Timer switch android TimerTask
b= new TimerTask()
{
@Override
public void run()
{
out_string = hi.getWebPage("http://daniandroid.honor.es/getAllCustomers.php");
frum_timer = Integer.parseInt(out_string.replaceAll("[\D]",""));
};
};
t.scheduleAtFixedRate(b, 500, 1000);
每1000 ms, 运行() 将值存储到int frum_timer
我将其用于手电筒应用程序。
当我打开应用程序时,我希望我的应用程序使用 frum_timer 打开和关闭手电筒 间隔时间 。
所以如果
frum_timer = 1000;
我的手电筒每 1 秒就会打开和关闭一次。
如果我编辑为
frum_timer = 300;
它每 0.3 秒打开和关闭一次。
我尝试实例化一个 new TimerTask()
c=new TimerTask()
{
@Override
public void run()
{
timetask = new TimerTask()
{
boolean checking = false;
@Override
public void run()
{
runOnUiThread(new Runnable()
{
@Override
public void run()
{
if(checking==true)
{
//camera turning on
checking=false;
}else{
//camera turninf off
checking=true;
}
}
});
}
};
}
};
//some code
t.scheduleAtFixedRate(c, 50, 700);
但这很难,因为当我更改值时,一个新的计时器将启动,而旧的计时器将保持活动状态。
顺便说一句:我知道转向 on/off 的代码不会按我想要的相同时间间隔更改,因为我的业余程序员技能(如果检查...等)
我找到方法了。
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
b= new TimerTask()
{
@Override
public void run()
{
out_string = hi.getWebPage("http://daniandroid.honor.es/getAllCustomers.php");
frum_timer = Integer.parseInt(out_string.replaceAll("[\D]",""));
};
};
t.scheduleAtFixedRate(b, 500, 1000);
每1000 ms, 运行() 将值存储到int frum_timer
我将其用于手电筒应用程序。 当我打开应用程序时,我希望我的应用程序使用 frum_timer 打开和关闭手电筒 间隔时间 。
所以如果
frum_timer = 1000;
我的手电筒每 1 秒就会打开和关闭一次。 如果我编辑为
frum_timer = 300;
它每 0.3 秒打开和关闭一次。
我尝试实例化一个 new TimerTask()
c=new TimerTask()
{
@Override
public void run()
{
timetask = new TimerTask()
{
boolean checking = false;
@Override
public void run()
{
runOnUiThread(new Runnable()
{
@Override
public void run()
{
if(checking==true)
{
//camera turning on
checking=false;
}else{
//camera turninf off
checking=true;
}
}
});
}
};
}
};
//some code
t.scheduleAtFixedRate(c, 50, 700);
但这很难,因为当我更改值时,一个新的计时器将启动,而旧的计时器将保持活动状态。
顺便说一句:我知道转向 on/off 的代码不会按我想要的相同时间间隔更改,因为我的业余程序员技能(如果检查...等)
我找到方法了。
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();