一定時間後にこの処理を実行、などとしたい時はandroid.os.HandlerからpostDelay
一定時間後にこの処理を実行、などということをJavaでやるにはTimerTaskとTimerなどを使う。Androidでもそれはできるけど、TimerでやるとGUIを動かしてるメインスレッドと別のスレッドで動くことになるから結局Handler経由で操作しなきゃいけないし、毎回TimerTaskをnewする必要なんかもあったりするのはAndroidみたいな環境では嬉しくない。
android.os.Handlerを使いましょう。
public class AndroidTest extends Activity { private int count = 0; private final Context context = this; private final Handler handler = new Handler(); private final Runnable showMessageTask = new Runnable() { @Override public void run() { Toast.makeText(context, String.valueOf(++count), Toast.LENGTH_SHORT).show(); } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); handler.postDelayed(showMessageTask, 1000); } }
起動からおよそ1000ミリ秒後にToastでメッセージを表示するだけ。