安卓開發兩秒執行另外一個操作源碼 很簡單

先來一桶理論,再來一桶源碼


有時候我們需要在某個 Activity 停留幾秒種,然後再跳到下一個 Activity。那麼這個怎麼實現呢?

一個方法是可以使用 Thread 的 sleep 函數,這個我們在 用Handler實現線程間的消息通信 也有提到:

1 try {
2     Thread.sleep(1 1000);
3 catch (InterruptedException e) {
4     // TODO Auto-generated catch block
5     e.printStackTrace();
6 }

但是這樣對於某些場合並不好,比如一個 App,打開的時候進入歡迎頁面,用 sleep 方法做停留的話,歡迎頁面可能會顯示不了的。

也可以用 Timer 來做停留。比如:

01 private void getHomeActivity() {
02     Timer timer=new Timer();
03     TimerTask task=new TimerTask(){
04         public void run(){
05             Intent intent = new Intent(InitActivity.this, MainActivity.class);
06             startActivity(intent);
07             overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
08         }
09     };
10     timer.schedule(task, 2500);
11 }


方法一

[java] view plain copy
  1. new Handler().postDelayed(new Runnable() {    
  2.     @Override    
  3.     public void run() {    
  4.         Intent intent = new Intent(MainActivity.this,    
  5.                 ExampleActivity.class);    
  6.         startActivity(intent);    
  7.     }    
  8.   
  9. }, SPLASH_DISPLAY_LENGHT);    

方法二

[java] view plain copy
  1. final Intent localIntent = new Intent(this, ExampleActivity.class);    
  2. Timer timer = new Timer();    
  3. TimerTask tast = new TimerTask() {    
  4.     @Override    
  5.     public void run() {    
  6.         startActivity(localIntent);    
  7.     }    
  8. };    
  9. timer.schedule(tast, SPLASH_DISPLAY_LENGHT);   

使用範例

[java] view plain copy
  1. package com.app.weixin;  
  2.   
  3. import java.util.Date;  
  4. import java.util.Timer;  
  5. import java.util.TimerTask;  
  6.   
  7. import com.app.wexin.R;  
  8.   
  9. import android.app.Activity;  
  10. import android.content.Intent;  
  11. import android.os.Bundle;  
  12. import android.os.Handler;  
  13.   
  14. public class WelcomeActivity extends Activity{  
  15.   
  16.   
  17.     @Override  
  18.     protected void onCreate(Bundle savedInstanceState) {  
  19.         // TODO Auto-generated method stub  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.welcome);  
  22.          final Intent localIntent = new Intent(this, Tabs.class);    
  23.          Timer timer = new Timer();    
  24.          TimerTask tast = new TimerTask() {    
  25.              @Override    
  26.              public void run() {    
  27.                  startActivity(localIntent);    
  28.              }    
  29.          };    
  30.          timer.schedule(tast, 1500);   
  31.     }  
  32. }  
此爲暫停1.5秒後跳轉。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章