編輯:關於Android編程
一、Android中的事件處理方法
事件處理:響應用戶UI動作,提高應用程序交互性
1、基於監聽的事件處理機制
2、基於回調的事件處理機制
3、Handler消息處理
前面我們已經介紹了Android事件處理方法總結-基於監聽、基於回調的事件處理,這裡我們總結一下Handler消息處理
二、Handler消息傳遞機制詳解
1、為什麼要使用Handler消息傳遞
1).Android出於性能考慮,UI線程(主線程)是非線程安全的,為了避免線程安全問題,Android規定“ 只允許UI線程(即主線程)修改程序界面裡面的UI組件”
但是
有時候非UI線程業務可能也需要根據需求改變UI界面內容時,這時就可以利用Handler消息傳遞,子線程發送Handler Message給UI線程,通知UI線程去改變UI組件
2).Android主線程一般不操作 復雜業務邏輯、請求網絡等耗時操作,這些操作必須在新的子線程裡面,否則可能會引起ANR異常
2、Handler消息傳遞原理
4個主要參與對象:
Handler:消息發送接收處理類。負責從新啟動的線程中發送消息,在主線程中獲取並處理消息
Message:消息對象,即Handler接收和處理的消息對象
MessageQuene:消息隊列,Message存取於MessageQuene
Looper:每個線程只擁有一個Looper,以先進先出的方式負責從MessageQuene消息隊列裡面讀取Message交由Handler處理
3、Handler消息處理應用實例
Handler處理消息應用步驟
Ⅰ.主線程創建一個Handler,用於消息處理
Ⅱ.子線程發送消息
Ⅲ.主線程接收並處理消息
應用實例:讀取網絡圖片
布局文件activity_main.xml
示例代碼MainActivity.
示例效果
Ps:這裡讀取的是網絡圖片,所以在AndroidManifest.xml清單文件裡面記得添加讀取網絡的權限 android.permission.INTERNET
Lumia手機看電子書的限制頗多,比如直接將電子書復制到手機Document文件夾不能被閱讀軟件識別,用Office看書的體驗遠遜於專業的閱讀軟件。那麼,L
Android中,要自己實現一個掛斷電話方法時,很久之前可以endCall().不過現在已經不行了,要應用反射機制,獲取到"android.os.Service
本例的目的是實現一個簡單的餅狀統計圖,效果如下: 特點: 1.使用非常方便,可放在xml布局文件中,然後在代碼中設置內容,即: PieChartVie
本文實例介紹了Android中LinearLayout、AbsoluteLayout的用法,希望能對於初學Android的朋友起到一點幫助作用。具體內容如下:Androi