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. .NET-DataColumn.DataType 属性

    public DataTable MakeDataTable(){ DataTable myTable; DataRow myNewRow; // Create a new DataTable. my ...

  2. Caused by: org.apache.ibatis.reflection.ReflectionException我碰到的情况,原因不唯一

    映射文件: <select id="selectKeyByUserId"  resultMap="Xxx">        <![CDATA[ ...

  3. WinServer 之 内网发布网站后端口映射外网访问

    内网IP只能在内网局域网访问连接,在外网是不能认识内网IP不能访问的.如有路由权限,且路由有固定公网IP,可以通过路由的端口映射,实现外网访问内网.如无路由,或路由无公网IP,需要用到第三方开放的花生 ...

  4. python网站

    https://github.com/search?utf8=%E2%9C%93&q=python+sockethttps://github.com/search?p=2&q=pyth ...

  5. 关于 yii2 cron运行 console的脚本不运行,可是手动运行成功的原因

    在yii2中运行脚本出现了一个问题 手动运行没有问题. 在cron中不运行.最后找出来了原因 打开yii文件(在根文件夹以下) #!/usr/bin/env php <?php /** * Yi ...

  6. oracle update left join查询

    对于有的更新语句,要更新的表可能条件不够,需要用到left join关联其他表, 但是不能直接关联,否则报错:错误如下: update imim_gireqbillitems gi left join ...

  7. ROC

    # -*- coding: utf-8 -*- # __author__ = "JieYao" from biocluster.agent import Agent from bi ...

  8. Java教程到处都是,究竟怎样能学好Java?

    学习Java如何入门?学习教程要点是什么?如何精通?做好以下这些点,入门更快,掌握Java更轻松. Java必备基础知识 1.你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EE ...

  9. unity3d的GUILayout布局

    GUILayout默认采用线性布局,从上到下.可以参见<unity3d常用控件> 如果要实现横向布局,则需要添加如下代码: GUILayout.BeginHorizontal (); // ...

  10. Windows Visual Studio 下配置OpenGL

    很多同学不是很清楚OpenGL的配置,一个个帮忙配置也不是办法,干脆就写一篇教程好了. 本人使用的是Visual Studio 2015版本,对于Visual Studio 2012版本的配置会稍有不 ...