天天看點

Android項目管理之配置管理

Android項目管理之配置管理

在Android開發中難免會遇到一系列的配置管理,例如版本配置、資料庫版本号配置、預置資料配置、網絡接口配置、加密資訊配置、日志配置、異常捕獲配置等。本文将對這些内容給出一個較為合理的解決方案。

首先:為什麼需要這些配置資訊呢?

1.版本配置:釋出版本的時候毋庸置疑,需要在每次釋出的時候修改版本号和版本名稱,提醒使用者更新也是根據版本号來判斷的,是以版本配置是必須的

2. 資料庫版本配置:每次對使用者版本的更新,如果涉及到資料庫變更,必須要更新資料庫,而資料庫的更新是由SQLiteHelper根據資料庫版本号來判斷 的,即資料庫自身儲存了上一版本的資料庫版本号,如果此次傳入的版本号大餘自身的版本号,則對資料庫upgread,并将新的版本号存儲為自身版本号。

3.預置資料配置:對于一個需要聯網擷取内容顯示給使用者的應用,如果首次使用者打開你的應用是在沒有網絡的環境下進行的,你的應用會呈現出什麼樣子呢?提供些預制資料吧,當然預置資料還可以包含更多資訊,如設定資訊等

4.網絡接口配置:為了靈活地應對網絡接口的變更,對網絡接口進行配置應該是比較好的方法,當然,還可以配置多套網絡接口,例如調試位址、正式位址、測試位址等

5.加密資訊處理:如果你在項目中需要對某些預制内容加密或者壓縮、而又希望開發的時候能夠以源碼的方式進行

6.日志配置:你在不同的環境下希望日志有不同的表現,例如在正式釋出後希望不要顯示日志、調試時顯示debug日志、測試時顯示warning日志等

7.異常配置:是否希望開啟異常捕獲,并将異常資訊回報到你的伺服器

二:如何配置?

1.對于1版本配置對于Android開發而言,需要在Manifest中進行

2.對于2資料庫版本配置、6日志配置、7異常配置在/res/raw/system.properties(位置和檔案名可以是任意的,個人推薦位置是這裡)中配置

3.對于3預置資料配置,可以建立一個單獨的檔案,用于配置預置資料

4.對于4網絡接口配置,可以2方法和3方法配合使用,2中配置環境,3中配置接口詳細資訊

5. 對于5加密資訊處理,首先要保證釋出時資訊被加密貨壓縮,其次要保證開發時不受影響,我們可以在項目的根目錄下建立一個檔案夾,名稱随便叫什麼,然後需要 加密或壓縮的檔案放在這裡,如果壓縮或者加密工具比較小的話也可以放在這裡,執行壓縮或加密腳本,将内容結果拷貝到需要的位置

三:最佳實踐

對二中給出的配置做實際性的處理

1.版本配置

Manifest.xml

2.資料庫版本,日志及異常配置

/res/raw/system.properties

在系統初始化的時候初始化基本配置資訊

2.1DBHelper作為單例,執行個體化時将資料庫版本号傳入

2.2日志

2.3異常

BaseActivity的onCreate方法中添加

3.預置資料

/home/chenze/workspace/trunk/assets/init.json

推薦使用json格式,占用小,易解析,這裡主要就是解析特定格式的資料,然後存不存儲看項目了,可以入庫等

4.網絡接口:

由上面的2和3看,思路基本就是這樣了,2.中配環境,3中配位址

5.加密和壓縮資訊處理

須 知在Android項目打包過程中,Android的根目錄中除了建立項目時的檔案夾,其他的内容都不會被打包進去,這樣我們就可以在根目錄中随意存儲内 容了(當然不建議太多)。我這裡建立了一個general目錄,存放壓縮和加密的工具及需要壓縮和加密内容的源碼。為了管理友善,建議寫一個腳本,執行後 自動将目标内容拷貝到目标位址。例如,在該目錄下建立一個資料庫變更腳本,執行加密指令後,将該腳本的加密後副本拷貝到/res/raw目錄下,當需要執 行資料庫更新腳本時,解密該内容并執行

總結:

本文主要讨論了筆者自身在項目配置方面的管理經驗,當然這些内容有的是借鑒了同僚的經驗,無論怎樣,主要提供一些為了簡便開發和管理的思路。