Hello ramgraph,
you'll create a Handler first, then put a Runnable, which is "~ a Thread" who's run()-method will get executed by the Handler after X milliseconds.
You may ask, why not creating a Thread directly

Very often (and very probably in this case) you need
the Thread that created the View(/Activity) to do the work (and not another thread!), because of security reasons.
Exactly that is what the Handler class accomplishes.
A well working example:
I'm using the following code to in a SplashScreen. It will redirect to the next Activity within X milliseconds:
Using java Syntax Highlighting
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.splashscreen);
/* New Handler to start the Menu-Activity
* and close this Splash-Screen after some seconds.*/
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
/* Create an Intent that will start the Menu-Activity. */
Intent mainIntent = new Intent(Splash.this,Menu.class);
Splash.this.startActivity(mainIntent);
Splash.this.finish();
}
}, SPLASH_DISPLAY_LENGHT);
}
Parsed in 0.032 seconds, using
GeSHi 1.0.8.4
I hope I described it easy to understand.

Regards,
plusminus