Android Library工程實現模組複用(代碼及資源檔)

來源:互聯網
上載者:User

 1. 情境
    通常我們開發的app 不止一個,並且這些app 中有一些通用的模組,比如一些util 方法或
者我們自訂的控制項。通常我們將這部分代碼copy 到不同的工程中實現複用,隨之而來的麻煩
就是當我們對這部分代碼稍有該動就需要同時在多個工程中進行修改,這種重複性工作的感覺跟
吃屎差不多。
    那麼有什麼好的方法實現複用並切避免吃屎?那就是使用Android 中的Library 工程,並
且相比jar 包而言,他可以實現資源檔的複用甚至覆蓋。
2. 具體步驟
• 建立library 工程
    建立Android Project,命名為demo-common,建議不Create Activity

將demo-common 設定為library

點擊ok,然後查看一下properties 檔案中的變化

完成公用的模組,這裡我們實現一個activity 一個util 類和一個自訂的view。
TextUtil 實現一些靜態方法,MyImageView 是eoe 中一個開發人員模仿winphone
磁貼效果的控制項。

•建立新的的工程
建立一個Android Project,命名為demo-project

為demo-project 添加demo-common 的引用

看一下添加demo-common 後,demo-project 的變化

其中多了一個R.java 檔案,但是兩者的內容相同。
新產生的R 檔案包含並且覆蓋了demo-comment 中R 檔案的所有定義的資源id。
包含就是為common 中的資源產生id 供project 使用;覆蓋就是project 中的資源
id(或name)與common 同名時會保留project 的,產生apk 後,common 中的
代碼所使用的是project 中的資源。
properties 檔案中也多了一個引用的定義。
 
在demo-project 中使用TextUtil 和MyImageView,並且實現介面的跳轉。


注意:使用common 中的Activity 時,需要在project 的manifest 檔案中進行相應
的聲明。因為manifest 設定檔是獨立給工程的,不能複用。例子中我沒有在common
的manifest 聲明AboutActivity,但是在project 中必須聲明。
3. 總結
使用Library 的好處顯而易見,模組化設計實現代碼共用,便於管理提高效率,避免不必要
的吃屎經曆。

 


摘自 icePhone

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.