天天看點

android檢視綁定源碼

  當我們閱讀android api開發文檔時候,上面的每個類,以及類的各個方法都是已經寫好的方法和控件,可是我們隻是在搬來使用,不知道它的原理,它是如何被實作的。android系統是開源的,是以谷歌官方在每釋出一個版本的時候都會放出它對應的api源碼的,讓我們可以深入了解android的api實作過程,這就是開源的魅力。如果我們從api源碼的角度去了解了開發過程,那樣對于作為開發人員的我們,便會對他有更深入的體會,有助于日後的軟體開發。

比如檢視activity的源碼,如圖

android檢視綁定源碼
android檢視綁定源碼

也可以檢視系統方法怎麼去實作一個過程,

如每個activity設定界面時都會去調用的一個方法:setcontentview(r.layout.welcome);

android檢視綁定源碼

從代碼中我們可以看到,這個方法其實就是系統分裝好我們拿來用的簡化版,我們也可以按照源碼裡面的

getwindow().setcontentview(r.layout.welcome);

這樣的實作效果都是一樣的。

在例如系統提供的按鈕控件button:

android檢視綁定源碼

不看不知道一看明白了,原來它的父類就是textview,那在然我們看看textview控件的源碼:

android檢視綁定源碼

可以發現,它的父類是view,安卓的系統控件都是繼承了view類,畫出來的,是以在我們想要自定義控件的時候,可以繼承view去做出自己想要的控件。

在eclipse中需要檢視某個類的源碼,直接按住ctrl 然後點選想要檢視的類或則方法,就會打開相對應的類檔案,可是這是建立在配置好源source的情況下才會打得開,下面讓我們去看看如何配置:

一.android api 源碼

  1.首先要先下載下傳sdk下的對應版本api的源碼source for android sdk

android檢視綁定源碼

2.之後找到你所安裝的sdk所在的目錄,我的sdk目錄路徑是:c:\users\administrator\android-sdks

android檢視綁定源碼

找到各個版本的對應sources檔案夾

android檢視綁定源碼

裡面就是對應的你所下載下傳版本的源檔案

我們拿4.3來做個例子(android-19  就是對應4.3)

找到目錄路徑

c:\users\administrator\android-sdks\sources\android-19

之後右擊你的項目,選菜單最下方的properties --- java buld path  --- libraries  --- android 4.3  ---  android.jar

android檢視綁定源碼
android檢視綁定源碼

點選edit,

android檢視綁定源碼

在上圖所示輸入框放入你前面源碼的目錄,之後項目會自動更新,之後便可以檢視源碼了。

二:檢視對應的support拓展包的源碼

下面以android-support-v4.jar為例子

1.先要下載下傳sdk下的android support library,這個裡面包含了最新版本的拓展包

android檢視綁定源碼

之後找該拓展包到目錄,這就是v4的架包路徑,我的路徑為:c:\users\administrator\android-sdks\extras\android\support\v4\src

在你所在的項目的lib檔案下,會有一個android-support-v4.jar架包,在該目錄下建立檔案命名為:android-support-v4.jar.properties,(其他v7什麼的架包類似,在原架包名稱後面加上.properties既可以),如下圖所示:

android檢視綁定源碼

我的是support v4的架包源碼路徑為c:\users\administrator\android-sdks\extras\\android\support\v4\src

之後打開你所建立的這個檔案,在裡面輸入你該架包源碼所在的位置路徑:

如果是windows作業系統下,輸入的路徑為:c:\\users\\administrator\\android-sdks\\extras\\android\\support\\v4\\src

ndroid-support-v4.jar.properties檔案中格式: src = c:\\users\\administrator\\android-sdks\\extras\\android\\support\\v4\\src

之後這步很關鍵,就是把這個項目close了,之後在open,

之後我想檢視v4架包的fragment這個類,就是通過按住ctrl在點選fragment,檢視了,

android檢視綁定源碼

通過源碼去深入學習api的實作過程,可以讓我們對android有更深入的體會和了解。

繼續閱讀