正文

8.1.1 用戶輸入系統(tǒng)的結構

Android系統(tǒng)級深入開發(fā):移植與調試 作者:韓超


Android用戶輸入系統(tǒng)的結構比較簡單,自下而上包含了驅動程序、本地庫處理部分、Java類對輸入事件的處理、對Java程序的接口。Android用戶輸入系統(tǒng)的結構如圖8-2所示。

如圖8-2所示,自下而上,Android的用戶輸入系統(tǒng)分成幾個部分:

 驅動程序:在/dev/input目錄中,通常是Event類型的驅動程序

  EventHub:本地框架層的EventHub是libui中的一部分,它實現(xiàn)了對驅動程序的控制,并從中獲得信息

  KeyLayout(按鍵布局)和KeyCharacterMap(按鍵字符映射)文件。同時,libui中有相應的代碼對其操作。定義按鍵布局和按鍵字符映射需要運行時配置文件的支持,它們的后綴名分別為kl和kcm

  Java框架層的處理:在Java框架層具有KeyInputDevice等類用于處理由EventHub傳送上來的信息,通常信息由數(shù)據(jù)結構RawInputEvent和KeyEvent來表示。通常情況下,對于按鍵事件,則直接使用KeyEvent來傳送給應用程序層,對于觸摸屏和軌跡球等事件,則由RawInputEvent經過轉換后,形成MotionEvent時間傳送給應用程序層

 在Android的應用程序層中,通過重新實現(xiàn)onTouchEvent和onTrackballEvent等函數(shù)來接收運動事件(MotionEvent),通過重新實現(xiàn)onKeyDown和onKeyUp等函數(shù)來接收按鍵事件(KeyEvent)。這些類包含在android.view包中

 


上一章目錄下一章

Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號