业务需要服务端改造BIO,需要一段时间,暂时在android端间隔一段时间去请求接口获取数据,直到获取成功
用handler在任务复杂的情况下不易维护,这边采用任务对象的方式定时请求
1 实例化一个Timer对象用于定时执行
final java.util.Timer timer = new java.util.Timer(true);
2 实例化一个TimerTask对象并在里面写每次执行要做的事情
TimerTask task = new TimerTask() {
public void run() {
//每次需要执行的代码放到这里面。
//当获取成功后释放timer对象 timer.cancel();
}
};
3 在需要执行的地方触发timer的schedule(TimerTask task, long delay, long period)方法 当然还有同名其他入参的方法,可以自己去查一下,这边用当前方法,第一个参数传入刚刚实例化的timertask任务对象,第二个参数是触发时延迟多少毫秒执行,不需要延迟的话传入0即可,第三个参数传入每隔多少时间执行 单位也是毫秒
timer.schedule(task, 0,3000);