This is a function that can create multi-threaded messages
How to use:
1, first create a handler object
Handler handler=new Handler ();
2, then create a Runnable object
Runnable runnable=new Runnable () {
@Override
public void Run () {
TODO auto-generated Method Stub
To do, here again call this Runnable object to implement a timer operation every two seconds
Handler.postdelayed (this, 2000);
}
};
3, call this Runnable object after two seconds using the Postdelayed method
Handler.postdelayed (Runnable, 2000);
It actually implements a 2s timer.
4, if you want to turn off this timer, you can do this
Handler.removecallbacks (runnable);
Of course, you can also make an alarm clock to remind the function of the delay, for example, first use MediaPlayer to play the alarm sound,
If you do not remember, is stopped playing, the next time 5 minutes after the playback, and then stopped, the next 4 minutes after the play,
..................
As long as the time to change the delay can be achieved, with a static object will be relatively easy to operate.
is an asynchronous effect, but the execution of runnable is in the same thread as the handler object
If the thread on which it is located is a UI thread, the runnable cannot perform time-consuming operations, or the ANR
A few days ago our own equipment is very card, card to jump interface need less than 1 seconds of time, I put the jump action in runnable inside, outside plus pop-up progress prompt box
Note: For illustrative purposes
public class XXX extends Activity
{
@Override
public void OnCreate (Bundle savedinstancestate)
{
Super.oncreate (savedinstancestate);
Requestwindowfeature (Window.feature_no_title);
Setcontentview (r.layout.loading);//Display 1th screen
Handler Handler = new Handler ();
handler.postdelayed (New Splashhandler (), 2000);//delay 2 seconds, then run the Splashhandler ()
}
Class Splashhandler implements Runnable
{
public void Run ()
{
StartActivity (New Intent (Getapplication (), secondactivity.class)); Display the 2nd screen
XXX.this.finish (); End 1th Screen
}
}
}
[Turn] Postdelayed method for Handler