Best practices in Android development

Use Gradle and its recommended project structure

使用Gradle和其推荐的工程结构

Put passwords and sensitive data in gradle.properties

将密码和敏感数据放置在gradle.properties中

Don't write your own HTTP client, use Volley or OkHttp libraries

不要自己写http的客户端对接,使用开源框架Volley和OkHttp(译者:其实还有其他几个也不错,request,loopj)

Use the Jackson library to parse JSON data

使用Jaskson来解析json数据(译者:fastjson的android版本也不错)

Avoid Guava and use only a few libraries due to the 65k method limit

因为android  65k方法数量限制,避免使用Guava开源包,只使用少量开源包(译者:因为android支持的方法数量65536个,所以要特别注意)

Use Fragments to represent a UI screen

使用Fragment来展现界面

Use Activities just to manage Fragments

使用Activity来管理Fragment

Layout XMLs are code, organize them well

布局xml也是程序,要好好管理

Use styles to avoid duplicate attributes in layout XMLs

使用样式来避免在布局xml中重复的配置参数

Use multiple style files to avoid a single huge one

使用多个样式配置避免集中到一个巨大的样式配置文件

Keep your colors.xml short and DRY, just define the palette

保持color.xml简短,只配置调色板的几个颜色即可

Also keep dimens.xml DRY, define generic constants

同样保持dimens.xml简短,只配置通用的常量

Do not make a deep hierarchy of ViewGroups

不要让布局的层次很深

Avoid client-side processing for WebViews, and beware of leaks

避免在客户端处理多个webview,尤其注意对象溢出

Use Robolectric for unit tests, Robotium for connected (UI) tests

使用Robolectric进行单元测试,Robotium进行UI连接测试

Use Genymotion as your emulator

使用Genymotion作为模拟器

Always use ProGuard or DexGuard

坚持使用Proguard和DexGuard来保护代码

android最佳实践的建议(翻译自android-best-practices)的更多相关文章

  1. fir.im Weekly - 2016 年 Android 最佳实践列表

    2016 年已经过去一半,你在年初制定的成长计划都实现了吗? 学海无涯,技术成长不是一簇而就的事情.本期 fir.im Weekly 推荐 王下邀月熊_Chevalier的 我的编程之路--知识管理与 ...

  2. Atitit.嵌入式web 服务器 java android最佳实践

    Atitit.嵌入式web 服务器 java android最佳实践 1. Android4.4.21 2. 自己的webserver1 3. CyberHTTP for Java  cybergar ...

  3. Android最佳实践指南

    Updated on 2016/1/6 修正了一些翻译段落欢迎转载,但请保留译者链接:http://www.jianshu.com/p/613d28a3c8a0 Lessons learned fro ...

  4. 听说你还不会用Dagger2?Dagger2 For Android最佳实践教程

    前言 Dagger2是现在非常火的一个依赖注入框架,目前由Google维护,在Github上面已经有12K star了.Dagger2的入门门槛其实是比较高的,据了解,目前有很多Android工程师对 ...

  5. Android最佳实践之Material Design

    Material概述及主题 学习地址:http://developer.android.com/training/material/get-started.html 使用material design ...

  6. Android最佳实践之性能 - 多线程

    在单独线程执行代码 參考地址:http://developer.android.com/training/multiple-threads/define-runnable.html Runnable对 ...

  7. JavaScript2谁刚开始学习应该知道4最佳实践文章(翻译)

    原版的:24 JavaScript Best Practices for Beginners (注:阅读原文的时候没有注意公布日期,觉得不错就翻译了,翻译到JSON.parse那一节觉得有点不正确路才 ...

  8. android最佳实践之设备兼容性

    由于不同手机的尺寸大小,屏幕分辨率可能存在差异.在开发应用的时候,你或许遇到过这些的问题: 1, 为什么图片在另外的手机上显示的时候变小了,又或是缩小了? 2, 为什么在layout中定义好的格局在另 ...

  9. 我的Android最佳实践之—— Android更新UI的两种方法:handler与runOnUiThread()

    在Android开发过程中,常需要更新界面的UI.而更新UI是要主线程来更新的,即UI线程更新.如果在主线线程之外的线程中直接更新页面 显示常会报错.抛出异常:android.view.ViewRoo ...

随机推荐

  1. 【Javascript】如何实现点的wave效果 && sinewave效果

    参考资料: sinewave效果:http://www.oneapm.com/ci/docker.html?utm_source=BaiduPaid&utm_medium=cpc&ut ...

  2. centos6.8服务器配置之vsftpd配置

    vsftpd: version 2.2.2一.安装:因对版本要求不高,所以采用yum安装 yum install -y vsftpdckconfig vsftpd on 二.配置: 1.建立ftp用户 ...

  3. HTML学习笔记(五)

    1.       Javascript是一种脚本语言,它的作用是提供用户交互.动态更改内容.数据验证. 2.       我们使用script标签将javascript的语句嵌入到html文档中. 3 ...

  4. 直接插入排序、折半插入排序、shell插入排序

    直接插入排序:   折半插入排序:   shell插入排序:  

  5. Firefly 流程架构

    print '----startmaster------' 1print '----appmain------' 2 print '----netserver------' 3 print '---- ...

  6. 更新node版本

    步骤如下:1.查看当前的node版本 node -v 2.清除npm当前缓存信息 npm cache clean -f 3.执行下载node npm install -g n 4.下载成功后执行安装 ...

  7. linux svn恢复删除的文件夹和文件(转)

    我觉得在window下面,查找被删除的svn文件夹和文件是件比较麻烦的事,恢复就更麻烦了.有的时候,命令还是比鼠标要好用的. 下面做一个例子来说明一下,删除和恢复的例子. [root@BlackGho ...

  8. 让你的 wowza server提供 RESTful web 服务

            有时我们 nginx 须要和 wowza 服务器交互以进行一些 LB 事宜:有时我们的管理员须要实时了解 wowza 服务器的一些其它状态信息(比方一些自己定义对象的状态等等).而用 ...

  9. STL源码剖析(适配器)

    STL中由三类适配器,它们分别是: 1.容器适配器(stack.queue) 2.迭代器适配器(insert_iterator.reverse_iterator.iostream_iterator) ...

  10. struts 简单前台用户名校验

    一个jsp <?xml version="1.0" encoding="GB18030" ?> <%@ page language=" ...