最近做QQ相册,QQ开放的api只能用他的api,连接口拿不到,而且都异步处理好了!但是我用到定时请求,以至于不能将其异步回调放到子线程中处理,
下边是用另一种思路解决问题:
public class AndroidTest_HandlerActivity extends Activity {
private Handler handler = new Handler();
private Runnable runnable = new Runnable(){
//推送runnable,定期2s执行一次
@Override19 public void run() {
// TODO Auto-generated method stub
Log.e("计时后", printCurTime());
handler.postDelayed(runnable, 2000);
}
};
private Runnable runRemove = new Runnable()
{//移除runnable,在6s后移除
@Override
public void run() {
// TODO Auto-generated method stub
handler.removeCallbacks(runnable);
}
};
private String printCurTime(){//获取当前时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//格式样式
Date date = new Date(System.currentTimeMillis());//建立当前日期
//format.format(date)格式化日期时间
return format.format(date);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.e("计时前", printCurTime());
handler.post(runnable);//定期执行
handler.postDelayed(runRemove, 6000);//过6秒后执行
}
}
结果:
这两句前后没多大区别。
handler.postDelayed(runRemove, 6000)放后面。