開篇介紹和工程目錄結構【從零開始搭建android框架系列(1)】
更多及時技術資訊,歡迎關注我的微博 :Anthony
本篇文章項目github地址:MVPCommon
本博客原地址:http://www.jianshu.com/p/d0fee882a0fe
在好友的推薦下,準備開始在簡書發表博客。停止在csdn那邊更新博客。也會將之前在那邊寫的不錯的博客做一個搬家。
在寫這個系列文章之前,就希望能從成熟的開發框架中引用和編輯的方式來構建一個android應用端的開發框架。這裏的開發框架的意思是,搭建出一個以後的項目都可以應用的library庫。
(1)本博客系列文章目的:
1.1 這裏麪包含了大多數app都需要的一些操作,以後開發的app都可以使用。
1.2 利用這裏面的思路可以進行自己公司和團隊的android客戶端框架的搭建
(2)搭建框架的思路:
2.1 利用成熟的開源庫,開源jar包作爲項目的依賴。
2.2 將成熟的開源庫引入本地庫文件,並作出適當的修改。(有時候爲了滿足項目需求,必須對開源項目作出一定的自定義修改)
2.3 利用以往項目經驗對分模塊分類別封裝出一些父類,完成公共操作,後續開發只需要繼承這些父類就可以完成大部分操作,並且可以做出適當修改。
2.4 爲一些常用操作提供模板代碼,可以作爲後續開發的參考
進入正題:
(3)項目目錄結構:
可以看出整個工程分爲四個部分。沒看懂上面第一張圖片的意思?那麼換一種方式可能更好理解,請繼續往下看。android studio的目錄結構中,我們需要添加項目依賴,依賴開源庫或者依賴我們自己寫的庫。具體的依賴關係是如下面兩張圖片:
3.1 library依賴各種開源jar包,開源庫,可自定義修改的開源庫等:
可以看到我們直接將所有的複雜的開源庫,jar包,以及可自定義修改的開源庫都放到了library的依賴中,分別對應上圖的1,3, 2。自己的項目(可以是我們以後編輯的任何的項目)都可以使用library了。如
3.2 app(具體的項目)依賴框架library
這樣以後我們依賴的什麼v4,v7還是網絡上的無論各種網絡請求,還是圖片加載,都放在library中。我們也只需要整理好library。在後面的項目開發中將會省心很多。
(4)如何編輯library裏面的框架內容:
4.1 對於開源庫,我們可以通過library下面的gradle文件進行修改,以 compile 'XXX.xxx.xxx' 這種形勢,開源庫裏面的內容不可更改,
當然我們也可以在android studio中直接進行引入,也可以按照下圖的步驟123進行添加:
4.2 對於開源jar包,就直接放在library-libs文件夾下了。同樣支持gradle文件和project structure中編輯的形式。
4.3 對於可自定義修改的開源庫。這裏直接上github下載最新版本的各種開源庫,添加到ThirdPart 文件夾中,同樣支持上面的兩種編輯方式。
(5) android studio注意事項:
5.1 使用本地jar沒能編譯的問題在AS中使用本地jar非常簡單,只需要將jar文件放到libs目錄下,然後點下工具欄中的Sync Project with Gradle Files圖標即可。剛放到libs目錄下,尚未編譯
按下工具欄中的Sync Project with Gradle Files圖標,同步項目
編譯好之後如下圖所示:
有沒有正確編譯的標誌就是有沒有出現三角箭頭
5.2 怎麼讓一個module成爲library module的問題從github上面複製的項目過來可能不會有左邊那個帶有三個柱形圖的小符號,而是普通文件夾的形式。所以需要做出兩個配置,看下面兩張圖片
(在setting.gradle 中進行如圖的配置)
(在每個開源庫的library中的gradle文件中,進行配置)apply plugin參數的值是com.android.application,就說明這是個app。如果apply plugin參數的值是com.android.library,就說明這是個library。
5.3 關於maven庫,jar包,開源包,aar的區別。
請參考這篇文章,點擊這裏好了,項目的目錄結構就介紹到這裏,在這裏再返回去看一下第一張圖片,是不是瞬間明朗很多了。