Android命名规范

Author Avatar
罗炜光 9月 22, 2016
  • 在其它设备中阅读本文章

自用

包的分类

AndroidLib

存放业务无关的逻辑

  • activity 存放与业务无关的Activity基类
  • net 存放网络底层封装
  • cache 存放缓存数据和图片的相关处理
  • ui 存放自定义控件
  • utils 存放各种与业务无关的公共方法

主项目划分

  • activity 将不同模块的Activity划分到不同的包下
  • fragment 将不同模块的fragment划分到不同的包下
  • adapter 存放适配器
  • broadcast 存放BroadcastReceive
  • engine 将业务相关的类都放在一起
  • entity 将所有实体放在一起
  • db SQLLite相关逻辑的封装
  • interfaces 真正意义上的接口,命名以I作为开头
  • listener 基于Listener的接口,命名以On作为开头
  • service 存放Service
  • ui 存放之定义控件
  • utils 将所有的公共方法放在这里
  • base 存放一些类的通用基类

文件命名规范

  • 帕斯卡(pascal)命名法:即所有单词的第一个字母大写
  • 接口 I+帕斯卡(pascal)命名法
  • 常量 全部大写,单词用下划线分隔
  • 静态变量 以s开头
  • 成员变量 以m开头

Layout命名

页面类型_页面名称/模块名称_名称

页面类型 说明
activity activity的布局文件
fragment fragment的布局文件
dlg Dialog的布局文件
ppw PopupWindow的布局文件
listitem listview或recycleview的item项
include 用于include标签的页面
base 基础页面的布局文件
common 通用的布局文件
activity_login

图片命名

图片类型缩写_页面名称/模块名称/common/_图片名称_状态缩写(可选)_大小(可选)

图片类型缩写 说明
ic –icon 主要用于布局和子布局的图标
bg–background 主要用于布局和子布局的背景
di–divider 主要用于分隔线,不仅包括Listview中的还包括普通布局中的线
sl–selector 主要用于某一view多种状态,listview 按钮等
cl–color 主要用于颜色值
bt–button 主要用于按钮的表示
状态缩写 说明
normal 代表普通状态
press 代表按下状态
select 代表选中状态
unselect 代表没有被选中状态
focus 代表获得焦点
unfocus 代表未获得焦点
bt_login_activity_login_press

动画命名

页面名称/模块名称/common/_说明动画类型\方向

login_activity__fade_in

字符串常量命名

页面名称_控件名称_文字概述

login_activity_btn_login_text

控件ID命名

控件缩写_layout文件名称_功能名称

btn_activity_login_login

常用控件缩写

控件 缩写
AppBarLayout abl
AutoCompleteTextView actv
Button btn
CardView cv
CheckBox chk
CheckedTextView chktv
Chronometer cmt
CollapsingToolbarLayout ctl
ContentLoadingProgressBar cpbar
DatePicker dp
EditText et
FrameLayout fl
FloatingActionButton fabtn
GridView gv
HorizontalScrollView hsv
ImageButton imgbtn
ImageView iv
ListView lv
LinearLayout ll
MultiAutoCompleteTextView mactv
NavigationView nv
NestedScrollView nsv
ProgressBar pbar
RadioGroup rg
RadioButton rbtn
RatingBar rbar
RecyclerView rcv
RelativeLayout rl
ScrollView scrv
SearchView seav
SeekBar sbar
Spinner spn
Switch sw
TextClock tc
TextView tv
TimePicker tp
Toolbar tbar
toggleButton tbtn
ZoomButton zbtn

参考资料

几行代码看程序员的水平——Android文件命名规范
App研发录:架构设计、Crash分析和竞品技术分析