《阿里巴巴 Android 开发手册》(一)

《阿里巴巴 Android 开发手册》(一)

手册下载地址

相关文章链接

近期,阿里巴巴发布了一本 Android 开发手册。为了提高咱们的代码质量,来看看手册里面都写了什么吧!(学完了该手册还有阿里巴巴的认证考试哦)

先来看一下目录

  • 前言
  • 一、Java 语言规范
  • 二、Android 资源文件命名与使用
  • 三、Android 基本组件
  • 四、UI 与布局
  • 五、进程、线程与消息通信
  • 六、文件与数据库
  • 七、Bitmap、Drawable 与动画
  • 八、安全
  • 九、其他
  • 附录 认证考试

前言

车同轨,书同文,《阿里巴巴 Android 开发手册》 既是高效合作的基础,也是深度创新的开始。— 淘宝技术负责人 庄卓然

《阿里巴巴 Android 开发手册》是阿里巴巴集团各大 Android 开发团队的集体智慧结晶和经验总结,将淘宝、天猫、闲鱼、钉钉等 App 长期开发迭代和优化经验系统地整理成册,以指导 Android 开发者更加高效、高质量地进行 App 开发,呈现给用户体验好、性能优、稳定性佳、安全性高的产品。

《阿里巴巴 Android 开发手册》作为阿里巴巴开发规约重要一环,我们的目标是:

  • 防患未然,提升质量意识,降低故障率和维护成本
  • 标准统一,提升协作效率
  • 追求卓越的工匠精神,打磨精品代码

本手册以开发者为中心视角分为 Java 语言规范(遵循《阿里巴巴 Java 开发手册》),Android 资源文件命名与使用,Android 基本组件,UI与布局,进程、线程与消息通信,文件与数据库,Bitmap、Drawable 与动画,安全,其他等九大部分,根据约束力强弱,规约一次分为强制推荐参考三大类

  • 【强制】必须遵守,违反本约定或将会引起严重的后果
  • 【推荐】尽量遵守,长期遵守有助于系稳定性和合作效率的提升
  • 【参考】充分理解,技术意识的引导,是个人学习、团队沟通、项目合作的方向

对于规约条目的延伸信息中,“说明”对内容做了适当扩展和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要提防的雷区,以及错误案例。

另外,【阿里巴巴 Android 开发规范】认证开始同步上线,详情请点击这里

《阿里巴巴 Android 开发手册》项目组成员,排名不分先后:芸墨(淘宝技术部)、矢亮(智能场景事业部)、游僧(淘宝技术部)、景宝(淘宝技术部)、邻云(闲鱼技术部)、尚节(猫客技术部)等,还有很多阿里巴巴移动开发工程师参与,在此一并表示感谢,感谢孤尽(《阿里巴巴 Java 开发手册》主要作者)对手册的指导。

一、Java 语言规范

遵循 《阿里巴巴 Java 开发手册》
手册下载地址点击这里

二、Android 资源文件命名与使用

1、【推荐】资源文件需带模块前缀

2、【推荐】layout 文件的命名方式

  • Activity 的 layout 以 module_activity 开头
  • Fragment 的 layout 以 module_fragment 开头
  • Dialog 的 layout 以 module_dialog 开头
  • include 的 layout 以 module_include 开头
  • ListView 的行 layout 以 module_list_item 开头
  • RecyclerView 的 item layout 以 module_recycle_item 开头
  • GridView 的行 layout 以 module_grid_item 开头

3、【推荐】drawable 资源名称以小写字母 + 下划线的方式命名,根据分辨率不同存放在不同的 drawable 目录下,建议只使用一套,例如 drawable-xhdpi。采用规则如下:

模块名_业务功能描述_控件描述_控件状态限定词

如:

  • module_login_btn_pressed
  • module_tabs_icon_home_normal

4、【推荐】anim 资源名称以小写字母 + 下划线的方式命名,采用以下规则:

模块名_逻辑名称_[方向|序号]

tween 动画资源:尽可能以通用的动画名称命名,如

  • module_fade_in
  • module_fade_out
  • module_push_down_in(动画 + 方向)

frame 动画资源:尽可能以模块 + 功能命名 + 序号。如

  • module_loading_grey_001

5、【推荐】color 资源使用 #AARRGGBB 格式,写入 module_colors.xml 文件中,命名格式采用以下规则:

模块名_逻辑名称_颜色

如:

<color name="module_btn_bg_color">#33b5e5e5</color>

6、【推荐】dimen 资源以小写单词 + 下划线方式命名,写入 module_dimens.xml 文件中,采用以下规则:

模块名_描述信息

如:

<dimen name="module_horizontal_line_height">1dp</dimen>

7、【推荐】style 资源采用小写单词 + 下划线方式命名,写入 module_style.xml 文件中,采用以下规则:

父 style 名称.当前 style 名称

如:

<style name="ParentTheme.ThisActivityTheme"></style>

8、【推荐】string 资源文件或者文本用到字符需要全部写入 module_string.xml 文件中,字符串以小写单词 + 下划线的方式命名,采用以下规则:

模块名_逻辑名称

如:

  • module_login_tips
  • module_homepage_notice_desc

9、【推荐】id 资源原则上以驼峰法命名,View 组件的资源 id 需要以 View 的缩写作为前缀。常用缩写表如下:

控件缩写
LinearLayoutll
RelativeLayoutrl
ConstraintLayoutcl
ListViewlv
ScollViewsv
TextViewtv
Buttonbtn
ImageViewiv
CheckBoxcb
RadioButtonrb
EditTextet

其他控件的缩写推荐使用小写字母并用下划线进行分割,例如:

  • ProgressBar 对应的缩写为 progress_bar
  • DatePicker 对应的缩写为 date_picker

强迫症的我,找了半天没有发现 RecyclerView id 的命名规范???

10、【推荐】大分辨率图片(单维度超过 1000)建议统一放在 xxhdpi 目录下管理,否则将导致占用内存成倍数增加。

说明:
为了支持多种屏幕尺寸和密度,Android 为多种屏幕提供不同的资源目录进行适配。
为不同屏幕密度提供不同的位图可绘制对象,可用于密度特定资源的配置限定符(在
下面详述) 包括 ldpi(低)、mdpi(中)、 hdpi(高)、xhdpi(超高)、xxhdpi (超
超高)和 xxxhdpi(超超超高)。例如,高密度屏幕的位图应使用 drawable-hdpi/。
根据当前的设备屏幕尺寸和密度,将会寻找最匹配的资源,如果将高分辨率图片放
入低密度目录,将会造成低端机加载过大图片资源,又可能造成 OOM,同时也是资
源浪费,没有必要在低端机使用大图。

正例:
将 144*144 的应用图标 PNG 文件放在 drawable-xxhdpi 目录

反例:
将 144*144 的应用图标 PNG 文件放在 drawable-mhdpi 目录

扩展参考:
https://developer.android.com/guide/practices/screens_support.html?hl=zh-cn

《阿里巴巴 Android 开发手册》(二)

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值