> 原文出處:http://www.jianshu.com/p/4390f4fe19b3
作者:小池laucherish

從[Futurice](http://www.futurice.com/)公司Android開發者中學到的經驗。
遵循以下準則,避免重復發明輪子。若您對開發iOS或Windows Phone 有興趣,
請看[**iOS Good Practices**](https://github.com/futurice/ios-good-practices)?和?[**Windows client Good Practices**](https://github.com/futurice/win-client-dev-good-practices)?這兩篇文章。
## 摘要
* 使用 Gradle 和它推薦的工程結構
* 把密碼和敏感數據放在gradle.properties
* 不要自己寫 HTTP 客戶端,使用Volley或OkHttp庫
* 使用Jackson庫解析JSON數據
* 避免使用Guava同時使用一些類庫來避免*65k method limit*(一個Android程序中最多能執行65536個方法)
* 使用 Fragments來呈現UI視圖
* 使用 Activities 只是為了管理 Fragments
* Layout 布局是 XMLs代碼,組織好它們
* 在layoutout XMLs布局時,使用styles文件來避免使用重復的屬性
* 使用多個style文件來避免單一的一個大style文件
* 保持你的colors.xml 簡短DRY(不要重復自己),只是定義調色板
* 總是使用dimens.xml DRY(不要重復自己),定義通用常數
* 不要做一個深層次的ViewGroup
* 在使用WebViews時避免在客戶端做處理,當心內存泄露
* 使用Robolectric單元測試,Robotium 做UI測試
* 使用Genymotion 作為你的模擬器
* 總是使用ProGuard 和 DexGuard混淆來項目