開篇介紹和工程目錄結構【從零開始搭建android框架系列(1)】

開篇介紹和工程目錄結構【從零開始搭建android框架系列(1)】

字數1389 閱讀5132 評論28 

更多及時技術資訊,歡迎關注我的微博 :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包,開源庫,可自定義修改的開源庫等:


library依賴各種開源jar包,開源庫等


可以看到我們直接將所有的複雜的開源庫jar包,以及可自定義修改的開源庫都放到了library的依賴中,分別對應上圖的1,3, 2。自己的項目(可以是我們以後編輯的任何的項目)都可以使用library了。如
3.2 app(具體的項目)依賴框架library


app(具體的項目)依賴框架library

這樣以後我們依賴的什麼v4,v7還是網絡上的無論各種網絡請求,還是圖片加載,都放在library中。我們也只需要整理好library。在後面的項目開發中將會省心很多。

(4)如何編輯library裏面的框架內容:

4.1 對於開源庫,我們可以通過library下面的gradle文件進行修改,以 compile 'XXX.xxx.xxx' 這種形勢,開源庫裏面的內容不可更改,


編輯maven開源庫

當然我們也可以在android studio中直接進行引入,也可以按照下圖的步驟123進行添加:


maven庫添加步驟


4.2 對於開源jar包,就直接放在library-libs文件夾下了。同樣支持gradle文件和project structure中編輯的形式。


第三方jar包引入


4.3 對於可自定義修改的開源庫。這裏直接上github下載最新版本的各種開源庫,添加到ThirdPart 文件夾中,同樣支持上面的兩種編輯方式。


可編輯的開源庫

(5) android studio注意事項:

5.1 使用本地jar沒能編譯的問題在AS中使用本地jar非常簡單,只需要將jar文件放到libs目錄下,然後點下工具欄中的Sync Project with Gradle Files圖標即可。剛放到libs目錄下,尚未編譯


尚未編譯的jar包

按下工具欄中的Sync Project with Gradle Files圖標,同步項目


Sync Project with Gradle Files

編譯好之後如下圖所示:


已經編譯的jar包

有沒有正確編譯的標誌就是有沒有出現三角箭頭
5.2 怎麼讓一個module成爲library module的問題從github上面複製的項目過來可能不會有左邊那個帶有三個柱形圖的小符號,而是普通文件夾的形式。所以需要做出兩個配置,看下面兩張圖片


柱形圖標代表library

(在setting.gradle 中進行如圖的配置)


library的gradle代碼

(在每個開源庫的library中的gradle文件中,進行配置)apply plugin參數的值是com.android.application,就說明這是個app。如果apply plugin參數的值是com.android.library,就說明這是個library。
5.3 關於maven庫,jar包,開源包,aar的區別。
請參考這篇文章,點擊這裏好了,項目的目錄結構就介紹到這裏,在這裏再返回去看一下第一張圖片,是不是瞬間明朗很多了。

發佈了67 篇原創文章 · 獲贊 10 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章