日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Handler(上)——Mars Andoird开发视频第二季第六集(重)

發布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Handler(上)——Mars Andoird开发视频第二季第六集(重) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1. 通過Handler實現線程間通信

handler、Looper、Message Queue(消息隊列)的重要價值就是實現主線程與工作線程之間的通信

實現:將工作線程中的數據通過消息傳遞到主線程中。

例子:

點擊按鈕,啟動線程;休眠2秒后將帶有數據的消息發送出去。

之后當Hanlder接收到數據時,將數據顯示在文本域上。

1.1 在Worker Thread中通過Handler發送消息

  • 線程:

Message.obj 字段可以用來儲存數據

Handler.sendMessage方法在任何線程中都可使用

class NetWorkThread extends Thread {public void run() {try {Thread.sleep(2 * 1000);} catch (InterruptedException e) {e.printStackTrace();}String date = "工作線程中的數據";Message msg = handler.obtainMessage();msg.obj = date;handler.sendMessage(msg);}}
  • 按鈕監聽:

啟動線程

class ButtonListener implements OnClickListener {public void onClick(View v) {new NetWorkThread().start();}}

1.2 主線程中實現Handler的handleMessage()方法

  • 繼承Handler、重寫handleMessage方法,處理接收到的消息。

將工作線程傳來的數據顯示在UI上

class MyHandler extends Handler {public void handleMessage(Message msg) {super.handleMessage(msg);String date = (String) msg.obj;textView_1.setText(date);}}

效果

啟動程序:

點擊按鈕:

轉載于:https://my.oschina.net/u/2437172/blog/496219

總結

以上是生活随笔為你收集整理的Handler(上)——Mars Andoird开发视频第二季第六集(重)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。