Android开发最佳实践---Futurice之见

Posted oncealong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发最佳实践---Futurice之见相关的知识,希望对你有一定的参考价值。

原文链接:https://github.com/futurice/android-best-practices
本文是Futurice公司的android开发人员总结的最佳实践,遵循这些准则可以避免重复制造轮子。如果你对ios或者WindowsPhone开发感兴趣,那么也请看看iOS最佳实践Windows客户端开发最佳实践
第一版翻译自:http://blog.csdn.net/asce1885 Android开发技术日新月异, Github上也有较大更新, 故对原文有增删

CSDN的markdown不支持页面内跳转, 概要里的跳转都是无效的. 如果您想看概要中每一条对应的详细指导, 可以到https://github.com/oncealong/android-best-practices/blob/master/translations/Chinese/Readme.cn.new.md.

概要

  1. 使用Gradle和推荐的工程结构
  2. 把密码和敏感数据存放在gradle.properties文件中
  3. 使用Jackson或者Gson库来解析JSON数据
  4. 不要自己实现HTTP客户端,要使用Volley或者OkHttp库
  5. 避免使用Guava, 使用少量的函数库从而避免超出65k方法数限制.
  6. 使用Fragments来表示UI界面
  7. Activities只用来管理Fragments
  8. 布局XML文件是代码,要组织好它们
  9. 使用样式文件来避免布局XML文件中属性的重复定义
  10. 使用多个样式文件避免单一大样式文件的使用
  11. 保持colors.xml文件简短和不重复,只定义颜色值
  12. 保持dimens.xml文件不重复,并只定义通用的常量
  13. 避免ViewGroups层次结构太深
  14. 避免在客户端侧处理WebViews,谨防内存泄漏
  15. 使用Robolectric作为单元测试的工具,Robotium作为UI测试的工具
  16. 使用Genymotion作为你的模拟器
  17. 总是使用ProGuard或者DexGuard
  18. 使用SharedPreferences处理简单的数据持久化, 使用ContentProciders处理复杂的数据持久化
  19. 使用Stetho调试你的程序.

Android SDK

把你的Android SDK目录放在电脑的主目录或者其他跟IDE安装目录独立的磁盘位置,某些IDE在安装时就包含了Android SDK,而且可能把它放在跟IDE相同的目录下。当你需要升级(或重新安装)IDE,或者更换IDE时,这种做法是不好的。同样要避免把Android SDK放在另外一个系统层级的目录中,这样当你的IDE在user模式下运行而不是root模式时,将需要sudo权限。

构建系统

你的默认选择应该是Gradle。相比之下,Ant限制更大而且使用起来更繁琐。使用Gradle可以很简单的实现:
1)将你的app编译成不同的版本;
2)实现简单的类似脚本的任务;
3)管理和下载第三方依赖项;
4)自定义密钥库;
5)其他
Google也在积极的开发Android的Gradle插件,以此作为新的标准编译系统。

工程结构

目前有两个流行的选择:以前的Ant和Eclipse ADT工程结构,以及新的Gradle和Android Studio工程结构。你应该选择新的工程结构,如果你的工程还在使用旧的结构,那么应该立即开始将它迁移到新的结构上面来。

旧的工程结构如下所示: