android 延迟执行
1.使用Handle发送消息并处理,代码如下(推荐):
new Handler(new Handler.Callback() {
//处理接收到的消息的方法
@Override
public boolean handleMessage(Message arg0) {
//实现页面跳转
startActivity(new Intent(getApplicationContext(),MainActivity.class));
return false;
}
}).sendEmptyMessageDelayed(0, 3000); //表示延时三秒进行任务的执行
2.使用timer
private void enterHome(){
Timer time = new Timer();
TimerTask tk = new TimerTask() {
Intent intent = new Intent(MainActivity.this,HomeActivity.class);
@Override
public void run() {
// TODO Auto-generated method stub
startActivity(intent);
finish();
}
};time.schedule(tk, 2000);
}
t imer的功能也可以通过自己构造线程,然后在线程中用sleep来模拟停止一段时间,然后再执行某个动作。
其实,看一下timertask的源码就立即可以知道,timertask就是实现了runnable接口的。也就是说,通过timer来间隔一段时间执行一个操作,也是通过一个线程来做到的。
因此,需要在主线程操作的不可通过Timer实现,推荐使用Handle发送消息实现延时处理
android.text.TextUtils的类,主要的功能如下:
是否为空字符 boolean
Android.text.TextUtils.
isEmpty(CharSequence str) //判断edittext是否为空
拼接字符串 String android.text.TextUtils.join(CharSequence delimiter, Object[] tokens)
拆分字符串 String[]
android.text.TextUtils.
split(String text, String expression)
拆分字符串使用正则 String[]
android.text.TextUtils.
split(String text, Pattern pattern)
确定大小写是否有效在当前位置的文本 int
android.text.TextUtils.
getCapsMode(CharSequence cs, int off, int reqModes)
使用HTML编码这个字符串
String android.text.TextUtils.
htmlEncode(String s)
另外,
String[]
中的expression较特殊,如果采用android.text.TextUtils.
split(String text, String expression)