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. jquery元素节点操作

    jquery元素节点操作 创建节点 var $div = $('<div>'); var $div2 = $('<div>这是一个div元素</div>'); 插入 ...

  2. Android EditText 状态切换

    不可编辑状态 <EditText                     android:id="@+id/ed_newPwd"                     an ...

  3. 寻找i*j=m的个数

    问题描述 3*3的矩阵内容. 1 2 3 2 4 6 3 6 9 即a[i][j](1<=i<=n,1<=j<=n)=i*j. 问一个这样n*n的矩阵里面,里面m出现的次数. ...

  4. html中锚点的应用【本页面跳转】

    设置锚点 <a name="top"></a> 同页跳转 <a href="#top">返回顶部</a> 不同页 ...

  5. 疯狂java学习路线图

  6. push和unshift方法

    push和unushift都是向数组插入元素. push是向数组尾部插入元素. unshift是向数组头部插入元素. 共同点:都可以一次插入多个元素. arrayObject.push(newelem ...

  7. ubuntu14.04无法连接有线连接问题

    在windows系统下关闭有线网卡的关机,自动唤醒功能即可

  8. Wireshark-配合tcpdump对Android(安卓)手机抓包

    环境:Windows, 安装真机(可以获取Root权限), adb, Wireshark, tcpdump 原理: 使用 tcpdump 进行抓包, 然后用 Wireshark 进行分析 1.获取手机 ...

  9. Python 代码块左移或右移

    (就 IDE 是  PyCharm 来说) 选中代码块: 1)右移:直接 Tab 2)左移:Shift + Tab Python 对代码对齐要求很严格的. Python的对齐方式很重要,对齐方式决定了 ...

  10. 比较R语言、perl语言,matlab中for循环和while循环的使用

    http://zhan.renren.com/zxccshkbx?gid=3602888498030523562&from=post&checked=true