Android Studio中檢視類的繼承關係
檢視類的繼承關係的快捷鍵F4,在Android Studio常用快捷鍵這篇文章中,有寫了。今天主要是講一些關於這個快捷鍵出來的介面的一些配置,這塊功能相對偏冷一些,可能很多人都會用不到。但是關於這些配置,android studio中很多都是類似的。
廢話不多說,直接上圖,如下圖,我選中Activity,然後按F4,右邊會出現一個和Activity有繼承關係的圖。
1、先簡要分析下圖中幾個元素:
注:這邊說第幾個圖示是從左到右的順序來數的
第一個圖示:顯示所有的繼承關係,包括父類,子類
第二個圖示:顯示父類
第三個圖示:顯示子類
第四個圖示:按字母排序,這個用處不大,大家不用關心
Scope
後面幾個圖示我就不說了,關係不太大。
再說下,查詢到的有繼承關係的類圖示有兩種:
圖示帶小灰鎖的:原始碼中的類
不帶小灰鎖:當前工程中的類
2、Scope簡要分析:
解釋前說明一點,這裡所謂的不顯示原始碼中的類,都是向下,不是向上,舉個例子,我檢視Activity的繼承關係,如果你選擇的範圍為不顯示原始碼的範圍,僅僅指Activity的原始碼中子類的不顯示,如果還是不理解的話,看下面production的說明。
Production:其實就是查詢範圍當前工程,這個時候就會隱藏繼承Activity的非本工程的類,比如ListActivity.
All:這個好理解,就是包括本工程和原始碼
Test:這個從某種意義上來說是和This Class是一樣的。
This Class:當前類
Configure:配置你自己想設定的查詢範圍。
預設的選項就是以上幾個,至於local,share是我自己新增的。
比如我選擇了Production,如下圖,你只會看到MyActivity,我的程式碼中還有繼承MyActivity的類,所以MyActivity前面有一個箭頭,不過我沒有展開。
重新選擇MyActivity,然後再按F4,調出繼承關係圖,選擇第二個圖示,然後範圍選當前的類,如圖,你可以看到MyActivity的父類。
選擇第三個圖示,這個時候你就只能看到MyActivity的子類了。
估計可能有些人在用的時候會說我的怎麼不靈,那是因為你的Scope選得有問題,一定要注意你選擇的的Scope。
3、接下來主要講點了Configure後如何進行配置
1)圖示及區域功能分析
先通過configure新增Scope,我添加了local和share兩個,其實你能新增的型別也就是兩個,要麼是local的要麼是share的,名字你可以自己隨便取哈。我這邊便於說明所以直接以型別來命名。
share帶一個白色小箭頭,local沒有,很好區分。
第一個圖示:新增一個Scope
第二個圖示:刪除Scope
第三個圖示:複製一個Scope,這裡是除了Name的完全複製,name預設為Unnamed
第四個圖示:將你選中的Scope另存為,這裡說下有時候你可能會點了不靈,這個是Android Studio的bug,你把對話方塊關掉,重新點configure一般就能行了。
第五、六個圖示:換位置圖示,比如你可以把local移到share上面。
Pattern:範圍匹配(這塊內容一會和右下的四個按鈕一起講)
Pattern下面有一排可選擇的內容,這塊內容其實就是選擇你的工程還有引用的包要以什麼方式來顯示,如果你覺得這塊太混亂,不看也罷。你選擇不同的方式,下面的Production Classes和Library Classes會根據你選擇的顯示方式進行顯示。
Include,Exclude:這兩個是相對的,一個新增,一個移除,都是針對Pattern,這裡是針對包(package)級別內容的增加移除
Include Recursively,Exclude Recursively:這兩個也是相對的,增加和移除Pattern的內容,這裡是針對類級別的內容的增加和移除
Pattern的內容你還可以通過點選Pattern後面的白色按鈕,來直接編輯。
2)配置引數
選中share,然後copy,你可以看到下圖,出現了一個Unnamed的Scope,Unnamed中Pattern內容是和share一樣的,我將share的Pattern設定到MyActivity類:
將local的Pattern設定到com.example.myapp.*這個包中
配置完成,點ok,回到繼承關係頁面,我們來看下效果,選擇share,你會看到這個時候MyActivity的子類BActivity不會被查詢出來了,因為不在查詢範圍內。
選擇local,local的範圍是整個package,這個時候你可以看到BActivity也被查詢出來了
OK,今天就講到這,下一篇會介紹如果用Gradle構建工程