當前位置:編程學習大全網 - 源碼下載 - 如何搭建android framework開發環境搭建

如何搭建android framework開發環境搭建

framework的開發比應用層就要煩的多啦。做應用在eclipse中就足夠了,用android系統中的控件等工具,或者是自己寫個類來實現特定的功能。而framework層的開發,需要往源碼中添加代碼、xml、圖片、id等等數據,這個id可是費了我好大的勁才搞定的。在項目開始的壹個半月裏,我探索、嘗試了很多,現在把我的經驗分享出來。網上關於framework層的開發信息很少,多是靠自己。  最有效的方式就是分析android的源碼,看google是怎樣實現壹個類的,以及類的層次。我現在看的主要是widget和app中的代碼,其他的還沒涉及。像View,ViewGroup,Activity,ActivityThread都是非常重要的類,也是代碼量很大的類,我只是大概地過了下,還沒有仔細分析過。  我花大力氣的地方是資源文件夾下values中幾個文件的作用。  attrs.xml中定義的是類的屬性,屬性是為了能在xml文件中被引用到,換句話說就是指定類中變量(也就是屬性的實際作用者)的值。這些屬性會在類的構造函數中用到。看過壹兩個源碼就會明白,構造函數中的TypedArray其實就是屬性的數組,數組的成員會被賦給類裏的成員,完成從xml的初始化。類的構造函數壹般有三個,壹個是Class(context),這個用於在代碼中創建壹個類,所以只包含壹個上下文;Class(context, attrs)和Class(context, attrs, defStyle)用於從xml創建類的情況。  styles.xml中是各個控件的“樣式”,樣式由壹個個屬性所組成。我們在編輯xml文件的時候,不同的類所能設置的屬性有***同的,也有不同的,都是由樣式來控制的。具體可以去看styles.xml這個文件的內容。  themes.xml其實也是樣式,只是適用的範圍大壹點,這個我是參考網上別人的看法,自己還沒研究過。  ids.xml是公***的id,也就是對應用層可見的id,id是為了獲得xml中的對象而需要的參數,也就是Object = findViewById(R.id.id_name)中的id_name。這些值可以在代碼中用android.R.id引用到  public.xml描述的是為attr、id、drawable所指定的壹個32的id值,這個值在current.xml文件中會被用到。  當我們對public.xml做了改動後,執行make update-api命令,相應的current.xml就會添加這些改動。因為這些值按類型被放在不同的段上,類型相同的必須連續存放,不指定id值的話系統會自動計算出下壹個值。  添加id的方法:1)在ids.xml中添加公***id項,在public.xml中也添加相應的id項。這種辦法沒有兼容性,會與後面的版本產生沖突。  2)在ids.xml中添加公***id項,每壹項前面加壹行的註釋,這樣就不用在public.xml中添加相應的項了。源碼中是/** @hide */的形式,這樣current中就不會有相應的段了。  3)在自己寫的xml中,使用android:id = "@+id/id_name"的形式,就和在eclipse中壹樣,搜壹下會發現android源碼中也有這麽用的,這樣ids.xml和public.xml都不用改,兼容性我還不確定。  上面這些希望能對大家有所幫助吧。

  • 上一篇:使用OpenGL ES繪制Android音視頻
  • 下一篇:噴霧源代碼60
  • copyright 2024編程學習大全網