Reputation: 594
I want to end HTTP request from a Android device to a web server and check a particular data of a database periodically (once a minute). I couldn't implement a timer for this.
Thanks
Upvotes: 4
Views: 8576
Reputation: 7177
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
Upvotes: 1
Reputation: 1812
The most easy method is to loop a Handler:
private Handler iSender = new Handler() {
@Override
public void handleMessage(final Message msg) {
//Do your code here
iSender.sendEmptyMessageDelayed(0, 60*1000);
}
};
To start the loop call this sentence:
iSender.sendEmptyMessage(0);
Upvotes: 0
Reputation:
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);
}
}
Upvotes: 11
Reputation: 1164
Try AlarmManager
running Service
. I wouldn't recommend sending request each minute thou, unless it's happening only when user manually triggered this.
Upvotes: 2