android 开发规范

AS规范:

编码格式——UTF-8;
.java、.xml等——完成后,格式化;
删除多余的资源;

命名规范

1.包名

包名全小写,不可有下划线等,只能是字母,并采用反域名规则。(一级包:顶级域名com,net,org等,二级包公司名,三级包应用名,后面PBF或者PBL划分)
个人比较推荐PBF(按功能分包),原因吗,谁用谁知道。
PBL(按层分包),会很乱,想想每层里面n+的文件,呵呵了。

2.类名

单词每个字母均大写

描述 栗子
Activity 类 Activity 为后缀标识欢 迎页面类 WelcomeActivityAdapter
Adapter类 Adapter为后缀标识 新闻详情适配器 NewsDetailAdapter
解析类 Parser 为后缀标识 首页解析类 HomePosterParser
工具方法类 Utils 或 Manager 为后缀标识 线程池管理类:hreadPoolManager 日志工具类:LogUtils(Logger 也可) 打印工具类:PrinterUtils
数据库类 以 DBHelper 后缀标识 新闻数据库:NewsDBHelper
Service 类 以Service 为后缀标识 时间服务 TimeService
BroadcastReceiver 类 以 Receiver 为后缀标识 推送接收 JPushReceiver
ContentProvider 类 以 Provider 为后缀标识 ShareProvider
定义的共享基础类 以 Base 开头 BaseActivity, BaseFragment
3.方法名
方法 说明
initXX() 初始化相关方法,使用 init 为前缀标识,如初始化布局initView()
isXX(), checkXX() 方法返回值为 boolean 型的使用 is/check 为前缀标识
getXX() 返回某个值的方法,使用 get 为前缀标识
setXX() 设置某个属性值
handleXX(), processXX() 对数据进行处理的方法
displayXX(), showXX() 弹出提示框和提示信息,使用
display/show 为前缀标识
updateXX() 更新数据
saveXX(), insertXX() 保存或插入数据
resetXX() 重置数据
clearXX() 清除数据
removeXX(), deleteXX() 移除数据或者视图等,如 removeView()
drawXX() 绘制数据或效果相关的,使用 draw
4.常量名

常量全部大写

5.非常量名

非公有,非静态字段命名以 m 开头。
静态字段命名以 s 开头。

6.动画资源文件
名称 说明
fade_in 淡入
fade_out 淡出
fade_out 从下方推入
push_down_out 从下方推出
push_left 推向左方
slide_in_from_top 从头部滑动进入
zoom_enter 变形进入
slide_in 滑动进入
shrink_to_middle 中间缩小
7.图片资源文件drawable和mipmap

res/drawable/ 目录下放的是位图文件(.png、.9.png、.jpg、.gif)或编译为可绘制对象资源子类型的 XML 文件,
而 res/mipmap/ 目录下放的是不同密度的启动图标,所以 res/mipmap/ 只用于存放启动图标,其余图片资源文件都应该放到 res/drawable/ 目录下。

名称 说明
btn(bg)_main_me 类型_模块名 _逻辑名称
ic_image 类型_逻辑名称
divider_color 类型_颜色
def(sel)_search_all 类型_模块名 _逻辑名称

多种形态

名称 说明
btn_xx_normal btn_类型_状态
pressed 点击
focused 焦点
disabled 不可用效果
checked 选中
selected 选中
hovered 悬停效果
checkable 可选
activated 激活效果
8.资源文件

统一——类型_模块名 _逻辑名称

单词缩写
名称 缩写
Button btn
CheckBox cb
EditText et
FrameLayout fl
GridView gv
ImageButton ib
ImageView ib
LinearLayout ll
ListView lv
ProgressBar pb
RadioButtion rb
RecyclerView rv
RelativeLayout rl
ScrollView sv
SeekBar sb
Spinner spn
TextView tv
ToggleButton tb
VideoView vv
WebView wv

你可能感兴趣的:(android 开发规范)