Android實現長時間等待界面

Android 實現等待界面,一般我們在執行比較費時的操作時,不能讓界面線程阻塞,否則android發現太長時間阻塞的話,會彈出關閉該應用的對話框,所以我們一般把比較耗時的操作放在另一個線程去執行,然後界面線程該幹什麼幹什麼,等操作完成後,再通知界面線程完成相應的操作即可。

Message可以傳回不同類型的值,可以應對不同需要。

//聲明變量
private Button b1;
private ProgressDialog pd;
//定義Handler對象
private Handler handler =new Handler(){
   @Override
   //當有消息發送出來的時候就執行Handler的這個方法
   public void handleMessage(Message msg){
      super.handleMessage(msg);
      //只要執行到這裏就關閉對話框
      pd.dismiss();
   }
};
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
}
private void processThread(){
      //構建一個下載進度條
      pd= ProgressDialog.show(MainHandler.this, "同步", "正在同步…");
      new Thread(){
         public void run(){
            //在這裏執行長耗時方法
            longTimeMethod();
            //執行完畢後給handler發送一個消息
            handler.sendEmptyMessage(0);
         }
      }.start();
}
這樣的寫法比較簡潔,運行效率也高。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章