我想结束从Android设备到Web服务器的HTTP请求,并定期检查数据库的特定数据(每分钟一次)。我无法为此实现计时器。
由于
答案 0 :(得分:11)
public class MyActivity extends Activity {
Timer t ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
t = new Timer();
t.schedule(new TimerTask() {
public void run() {
//Your code will be here
}
}, 1000);
}
}
答案 1 :(得分:2)
尝试AlarmManager
正在运行Service
。我不建议您每分钟发送一次请求,除非只有当用户手动触发此操作时才会发生。
答案 2 :(得分:1)
TimerTask doAsynchronousTask;
final Handler handler = new Handler();
Timer timer = new Timer();
doAsynchronousTask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
if(isOnline){// check net connection
//what u want to do....
}
}
});
}
};
timer.schedule(doAsynchronousTask, 0, 10000);// execute in every 10 s
答案 3 :(得分:0)
最简单的方法是循环处理程序:
private Handler iSender = new Handler() {
@Override
public void handleMessage(final Message msg) {
//Do your code here
iSender.sendEmptyMessageDelayed(0, 60*1000);
}
};
要开始循环,请调用以下句子:
iSender.sendEmptyMessage(0);