Handler的使用

Handler使用方法

解決注意中的第三個問題:用Handler機制處理
Handler機制首先要在主線程中進行聲明
1.耗時的操作不能放在主線程中進行,必須放到子線程中去執行
2.子線程不能更新UI
3.使用Handler解決子線程不能更新UI的問題:
①主線程創建一個Handler,重寫Handler的handlerMessage方法

 Handler handler = new Handler(){
        public void handleMessage(android.os.Message msg) {
             String result = (String) msg.obj; //主線程對子線程發送的Message對象進行接受
             text_show.setText(result);
        };
    };
   ②在子線程中創建一個Message對象,封裝獲取的結果
                       Message msg = new Message();
                       msg.obj = result;

   ③使用主線程中的handler對象將Message發送到主線程
               handler.sendMessage(msg);
        ④主線程中的handlerMessage方法接受子線程傳來的Message對象,並取到結果,處理結果

Handler隊列消息機制原理(重要)

有幾個主要元素:

1.Message:用來攜帶子線程中的數據。
2.MessageQueue:用來存放所有子線程發來的Message.
3.Handler:用來在子線程中發送Message,在主線程中接受Message,處理結果
4.Looper:是一個消息循環器,一直循環遍歷MessageQueue,從MessageQueue中取一個Message,派發給Handler處理。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章