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毫秒,run()会将值存储到int frum_timer
我正在将它用于手电筒应用程序。 当我打开应用程序时,我希望我的应用程序使用frum_timer打开和关闭手电筒间隔时间。
所以,如果
frum_timer = 1000;
我的手电筒每1秒开启和关闭一次。 如果我编辑
frum_timer = 300;
它会每0.3秒开启和关闭一次。
我尝试实例化一个新的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);
但这很难,因为当我更改值时,新计时器将启动,旧计时器将保持活动状态。
BTW:我知道打开/关闭的代码不会因为我的业余程序员技能(如果检查等等)而以我想要的相同间隔发生变化
答案 0 :(得分:0)
我找到了办法。
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();