1. 程式人生 > >面試常客Handler詳細解析(主執行緒與子執行緒資訊互動)(五)

面試常客Handler詳細解析(主執行緒與子執行緒資訊互動)(五)

主要講解了主執行緒和子執行緒的handler的訊息傳送:
下面直接上程式碼:

package com.example.handler;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public
class FourActivity extends Activity implements OnClickListener{ //建立主執行緒的handler private Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { Message message = new Message(); System.out.println("main Handler"); //向子執行緒傳送訊息
threadHandler.sendMessageDelayed(message, 1000); }; }; private Handler threadHandler; private Button btn1,btn2; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.four); btn1 = (Button) findViewById(R.id.button1); btn2 = (Button) findViewById(R.id.button2); btn1.setOnClickListener(this
); btn2.setOnClickListener(this); HandlerThread thread = new HandlerThread("handlerThread"); thread.start(); //建立子執行緒的handler threadHandler = new Handler(thread.getLooper()){ @Override public void handleMessage(Message msg) { Message message = new Message(); System.out.println("thread Handler"); //向主執行緒傳送訊息 handler.sendMessageDelayed(message, 1000); } }; } @Override public void onClick(View v) { switch(v.getId()) { case R.id.button1: handler.sendEmptyMessage(1); break; case R.id.button2: handler.removeMessages(1);; break; } } }

相關推薦

面試常客Handler詳細解析執行執行資訊互動()

主要講解了主執行緒和子執行緒的handler的訊息傳送: 下面直接上程式碼: package com.example.handler; import android.app.Activity; import android.os.Bundle; imp

面試常客Handler詳細解析更新UI的幾種方式(六)

一共有: UI主執行緒 activityd的runOnUiThread handler post handler sendMessage view post 下面將我自己已經驗證成功的程式碼貼出了,其實這些方法都是殊途同歸,都是使用了handler,封

Android使用Handler實現執行執行執行之間通訊

今天這篇文章只講一下怎麼使用Handler實現子執行緒與子執行緒之間、子執行緒與主執行緒之間如何進行通訊,關於具體的內部實現因為我也沒研究過,所以這篇文章講不了。 一、子執行緒向主執行緒傳值: 這個實現比較簡單,因為主執行緒自帶Looper機制,所有我們不用

Android 多執行之間的通訊互動Ui執行執行之間的通訊Handler,Handler.post(Runnable runnable),runUiThread方式

工作內容: 1.FrameLayout/OnTouchListener(滑動監聽) 2.生命週期 3.UI執行緒 4.Android中的耗時操作/多執行緒 5.多執行緒中的互動:Handler handler.post(Runnable runnable) 6.多執行緒中

QT GUI執行執行之間的通訊——使用跨執行的訊號槽

在主執行緒上,可以控制子執行緒啟動,停止,清零 如果子執行緒啟動的話,每一秒鐘會向主執行緒傳送一個數字,讓主執行緒更新介面上的數字。 程式截圖: 上程式碼: #include <QtGui>     #include <QtCore>    #include <w

QT小例子GUI執行執行之間的通訊

在主執行緒上,可以控制子執行緒啟動,停止,清零 如果子執行緒啟動的話,每一秒鐘會向主執行緒傳送一個數字,讓主執行緒更新介面上的數字。 #ifndef TQT_H_ #define TQT_H_ #include <QtGui> #include &l

Android WebView使用全面解析載入網路資源、本地HTML,JS互動

簡述:    WebView是什麼?有什麼用途?我們先來看一下官方介紹:      A View that displays web pages. This class is the basis upon which you can roll your own web b

Android分析執行執行,以及執行之間相互通訊

package com.example.testactivity; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android

c++11多執行執行執行資料傳輸共享

c++執行緒間的資料傳輸與共享分很多種,而使用全域性變數是很常見的一種,下面先來看看最基礎的使用全域性變數進行資料共享的例子: #include<thread> #include<iostream> using namespace std; stat

python執行執行的結束順序

引用自 主執行緒退出對子執行緒的影響--YuanLi 的一段話: 對於程式來說,如果主程序在子程序還未結束時就已經退出,那麼Linux核心會將子程序的父程序ID改為1(也就是init程序),當子程序結束後會由init程序來回收該子程序。 主執行緒退出後子執行緒的狀態依賴於它所在的程序,如果程序沒有退出的話子執

Python 程序程序,執行執行

一、什麼是程序    顧名思義,程序即正在執行的一個過程。程序是對正在執行程式的一個抽象。(執行程式三大執行元件:記憶體,磁碟,CPU。程式就是一堆程式碼,放在磁盤裡面,在執行程式時,程式碼載入到記憶體,由CPU到記憶體取程式碼,最終程式執行起來。這就是起了一個程序。)   

JAVA多執行waitnotify詳細解析由生產者和消費者案例引出

生產者和消費者這個關係是個經典的多執行緒案例。現在我們編寫一個Demo來模擬生產者和消費者之間的關係。 假如有兩個類,一個是資料生產者類DataProvider,另一個是資料消費者類DataConsumer,這兩個類同時對資料類Data進行操作,生產者類負責生產資料,消費者類負責消費資料,下面是

I3C 總線協議詳細解析第一章

同時 ble 如果 數據 結構 一中 替換 erro 移動設備 目前隨著手機等移動設備包含的sensor越來越多,傳統應用在sensor上的I2C/SPI接口的局限性也越來越明顯,典型的缺陷如下: 1、sensor等設備的增加,對控制總線的速度和功耗提出

session 詳細解析

時間 沒有 upa 銷毀 設置 支持 str 我們 www   轉自 https://www.cnblogs.com/blueskycc/p/5524709.html?tdsourcetag=s_pcqq_aiomsg http協議是WEB服務器與客戶端(瀏覽器)

【小家java】Java中執行父執行執行的通訊和聯絡

相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍 【小家java】java6新特性(簡述十大新特性) 雞肋升級 【小家java】java7新特性(簡述八大新特性) 不溫不火 【小家java】java8新特性(簡述十大新特性) 飽受讚譽 【小家java】java9

OCJP 1Z0-808考題超詳細解析word文件 題1--30

題目難度分類 個人對於題目難度的分類:難度總共五星 不理解題:   ★★★★★ 閱讀理解題:  ★★★★ 難點題: ★★★ 套路題:      ★★★ 基礎題/送分題:    

OCJP 1Z0-808考題超詳細解析word文件 題50--60

我現在邊工作,業餘時間看看,更新的可能的比較慢,望大家諒解。 題58 Given the code fragment:  if(aVar++ < 10){ System.out.println(aVar+ " Hello

RelativeLayout控制元件居中詳細解析可能是最完美的方法

在RelativeLayout中設定控制元件全部居中,需要注意在父佈局的一些細節設定即可,現在給出完美的解決方法,先看例項: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xml

【2019春招準備:22.執行生命週期執行執行

參考:強烈推薦 https://blog.csdn.net/u013905744/article/details/73741056 run java application: 建立一個java虛擬機器程序,main執行緒和userThread都可以在裡面跑,當沒有執行緒的時候,退出程

Word2Vec原始碼詳細解析

相關連結: 1、Word2Vec原始碼最詳細解析(上) 2、Word2Vec原始碼最詳細解析(下) Word2Vec原始碼最詳細解析(上) 在這一部分中,主要介紹的是Word2Vec原始碼中的主要資料結構、各個變數的含義與作用,以及所有演算法之外的輔助函式,包括如何