錯誤歸因

錯誤歸因是一種人常犯的錯誤。

比如A事件和B事件同時發生造成了C結果,但當事者誤認C結果為A事件所造成,其實是B。

--

唉,

工作上我常出現這樣的問題 :(

該好好檢討,

所謂的鬼打牆,就是因為錯誤歸因先起了個頭,

而自己一開始完全搞懂,就會走到錯誤的路上。

--

由於在某個已確定的檔案裡面找不到,就覺得應該是發錯 KeyEvent

然後在自己覺得問題所在的地方放Log檢查

結果什麼都沒得到,

於是覺得是不同層級的問題,

應該不是framework 而是再往下

於是找阿找 去追可能的路徑

推測如下:

EventHub.cpp

負責設定property

KeyCharacterMap.cpp

來load *kcm

KeyCharacterMap.java

這裡負責來抓keycode 以建立keymap

(會先確認device -> 找keycode ->)

KeyEvent.java

根據keymap 發keyevent

--

總之,心裡就想,那我應該要

1. 幫寫一個kcm
2. 找keycode 定義
3. 幫他加一個對應event
4. 接著在policy定義要做的行為

--

但是,走了這一段路之後,

發現要找的東西,不在那個檔案,而是在隔壁 ....

唉 所以一步錯步步錯 @@

--

因為用grep找關鍵字

我先找到了 xxxManager.java

就覺得是這裡了!

疑 怎麼沒有 然後就以為少了什麼 該自己去補起來

但同一個目錄明明就還有 xxx.java

我卻見木不見林

@@



--

另一個觀察切入點

為甚麼要有 xxxManager.java 跟 xxx.java ?

但有的時候又是 xxxService.java 配 xxxManager.java ?



xxxManager.java 通常都是 AIDL (Android Interface Definition Language)

AIDL is an IDL language used to generate code that enables two processes on an Android-powered device.

這應該要想一想 @@

Service 自己是一個process ?@@

還是很多個Service都在一個process內 ? @@

不懂阿不懂

參考資料:

Designing a Remote Interface Using AIDL

[轉]Android 的AIDL是啥?


--

AIDL

在Android中,每個應用程序都可以有自己的進程.在寫UI應用的時候,經常要用到Service.在不同的進程中,怎樣傳遞對象呢?

顯然, Java中不允許跨進程內存共享.因此傳遞對象,只能把對象拆分成操作系統能理解的簡單形式,以達到跨界對象訪問的目的.

在J2EE中,採用RMI的方式,可以通過序列化傳遞對象.在Android中,則採用AIDL的方式.理論上AIDL可以傳遞Bundle,實際上做起來卻比較麻煩.

AIDL參考文章之一

留言

張貼留言

歡迎留言一起討論

搜尋

本月熱門文章

中國國民黨政治人物參與中國共產黨統戰學習?

日本旅行 去東京可以在哪邊買羽球相關用品?WEMBLEY/WINDSOR/梭家/Victoria/Alpen TOKYO/

[台海危機] 中國軍機擾台問題 2023/09/17-18 單日破百架次飛機 創新高

[台海危機] 2024/10/15 聯合利劍—2024B「153共機34共艦」圍台破單日紀錄 東南空域配合遼寧艦聯演

[社會觀察] 一生順遂與命途乖舛

堪比林益世李朝卿的前台北市長柯文哲

台灣只有兩種小孩

水電行介紹---台北市北投區的實踐街上的義憶水電行----很艋舺的台詞.

水電行介紹---台北市南港區研究院路二段30號的志興水電行---是水電行也是水電材料行

金融犯罪調查師 車禍身亡 疑點重重 金融正義的代價:陳梅慧離奇車禍死亡背後的疑雲

Agoda

熱門文章

[社會觀察] 一生順遂與命途乖舛

中華民國2024 總統、副總統選舉公告發布 連署參選門檻28萬9667人 可以推薦候選人的政黨包括民進黨、國民黨、民眾黨和時力

[FAANG面試] 如何準備Google Technical Program Manager (TPM) 面試

關於中國:202X年

[HMD Global] Nokia 2020 新手機發布 首款 5G 手機 Nokia 8.3 預計夏季開賣 !

[音樂] 霖霖 新單曲:給你了

[表特][Passion Sisters] 中信兄弟PS女孩 浮誇甜心 凱蒂 炸裂全場~ 小許瑋甯

[棒球] 2023 台灣大賽G5 威能帝13K飆破紀錄 猿3轟搶聽牌優勢