Android Timer
通常用于开辟子线程的刷新工作。
Timer timer = new Timer();
TimerTask task = new TimerTask()
{
@Override
public void run() {
//要执行的任务,注意不能直接对UI线程进行更新
//可以打印LOg,查看执行情况
}
};
启动与关闭
timer.schedule(task, 0, 1000 * 3);
@Override
protected void onStop() {
super.onStop();
timer.cancel();
}
AsyncTask异步操作
它的三参数分别表示输入参数,进度,输出参数
public class MyAsyncTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strings) {
return "";
}
@Override
protected void onPostExecute(String s) {
//更新UI
AlphaAnimation animation = new AlphaAnimation(0, 1);// 透明度0变化到透明度为1
animation.setDuration(3000);// 动画执行时间1s
image.startAnimation(animation);
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
}
要注意的是由于是异步执行的,所以,要注意数据获取与数据调用的时间关系。最好将数据调用也放到异步中去执行。
new MyAsyncTask().execute("");