Android编码规范

2026/1/27 6:46:29

Android编码规范文档

一、 书写规范(编码时Android Studio快捷键ctrl+shift+Enter会按默认设置自行规范

或者选中要规范的内容,然后按Ctrl+Alt+L格式化)

1. 编码方式统一用UTF-8,Android Studio设置:File->Settings->

File Encoding。

2. 花括号不要单独一行,和它前面的代码同一行。而且,花括号与前面的

代码之间用一个空格隔开。 example:

public void method() { // Good }

3. if、else、for、switch、while等逻辑关键字与后面的语句留一个空格

隔开。 example:

if(booleanValue){

} else { }

4. 运算符两边各用一个空格隔开。

int result = a + b;

5. 方法的每个参数之间用一个空格隔开。

example:

method(param1, param2);

public void method(String param1, Sting param2){};

6. 将逻辑相关的代码段用空行隔开,以提高可读性。空行也只空一行,不

要空多行。在以下情况需用一个空行: ? 两个方法之间;

? 方法内的两个逻辑段之间;

? 方法内的局部变量和方法的第一条逻辑语句之间; ? 常量和变量之间。

7. 当一个表达式无法容纳在一行内时,可换行显示,另起的新行用8个空

格缩进(Android Studio换行会自动缩进)。

8. 一行声明一个变量,不要一行声明多个变量,这样有利于写注释,同一

功能的控件或变量尽量声明在一起。

9. 范围型的常量用枚举类定义,而不要直接用整型或字符,这样可以减少

范围值的有效性检查。 example:

publicenumCouponType_e { // 现金券

@SerializedName(\E_CASH,

// 抵用券

@SerializedName(\E_DEBIT,

// 折扣券

@SerializedName(\E_DISCOUNT }

10. 文字大小的单位统一用sp,元素大小的单位统一用px(按照给定的UI

设计设置,系统自动适配不同屏幕的手机)。

11. 应用中的字符串统一在strings.xml中定义,然后在代码和布局文件中

引用,命名规范见二.8。

12. 颜色值统一在colors.xml中定义,然后在代码和布局文件中引用, 命

名规范见二.9。

13. 控件大小统一在dimens.xml中定义,方便维护修改,命名规范见二.10

二、 命名规范

1. 包名

包名全部小写,连续的单词只是简单地连接起来,不使用下划线

域名反写+项目名称+模块名称,全部单词用小写字母 example:

cn.com.xx.应用名称缩写.activity;

采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层级名。

2. 类和接口命名

使用大驼峰规则,用名词或名词词组命名,每个单词的首字母大写。

尽量避免缩写,除非该缩写是众所周知的,比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。

以下为几种常用类的命名:

activity类,功能并以Activity为后缀,如:LoginActivity fragment类,命名以Fragment为后缀,如:ShareDialogFragment service类,命名以Service为后缀,如:DownloadService adapter类,命名以Adapter为后缀,如:CouponListAdapter 工具类,命名以Util为后缀,如:EncryptUtil 模型类,命名以Model为后缀,如:CouponModel 接口类,命名以I开头,如:ICouponModle 接口实现类,命名以Impl为后缀,如:ApiImpl

枚举类,命名以_e(enum)为后缀,枚举的常量以E_开头 测试类的命名以它要测试的类的名称开始,以Test结束。

注:类的命名按照模块归类,每个模块由主要功能作为主类,其他的类的命名以它为基础。例如:登录注册功能以登录为主类,命名为

LoginActivity,则注册类的命名为LoginActivity_register 3. layout命名

全部小写,采用下划线命名法

模块_组件类型_功能,以模块名为前缀,是layout资源比较清晰。当工程比较大时,layout文件过多可以采用分包的方式(Android Studio有此功能)

以下为几种常用的组件类型命名:

{范围_}activity_功能,为Activity的命名格式 {范围_}fragment_功能,为Fragment的命名格式 {范围_}dialog_功能,为Dialog的命名格式

{范围_}item_list_功能,为ListView的item命名格式 {范围_}item_grid_功能,为GridView的item命名格式

{范围_}header_list_功能,为ListView的HeaderView命名格式 {范围_}footer_list_功能,为ListView的FooterView命名格式

(使用AndroidStudio的插件SelectorChapek可以快速生成selector,前提是命名要规范。) 4. 方法命名

使用小驼峰规则,用动词命名,第一个单词的首字母小写,其他单词的首字母大写。

以下为几种常用方法的命名:

初始化方法,命名以init开头,例:initView() 按钮点击方法,命名以动作开头,例:login() 设置方法,命名以set开头,例:setData()

具有返回值的获取方法,命名以get开头,例:getData()

通过异步加载数据的方法,命名以load开头,例:loadData() 布尔型的判断方法,命名以is或has,或具有逻辑意义的单词如equals,例:isEmpty()

5. 控件命名(== 控件id命名)

{范围_}意义_控件缩写,范围可选(小驼峰),只在有明确定义的范围内才需要加上。常用控件缩写: 控件 缩写 控件 缩写 TextView txt EditText edit Button btn ImageButton imgBtn ImageView img ListView list Spinner RadioGroup ProgressBar CheckBox TableRow SearchView spinner rgroup progress chk row search TabHost RadioButton SeekBar TableLayout ScrollView TabWidget tabhost rbtn seek table scroll widget LinearLayout linear FrameLayout frame RelativeLayout relative 6. 常量命名

全部为大写单词,单词之间用下划线分开。 example:

public final static int PAGE_SIZE = 20; 7. 变量命名

{范围描述+}意义描述+类型描述的组合,用驼峰式,首字母小写。 example:

private TextViewheaderTitleTxt; // 标题栏的标题 private Button loginBtn; // 登录按钮 8. 字符串String命名

命名全部用小写

类型_{范围_}功能,范围可选。 以下为几种常用的命名:

? 页面标题,命名格式为:title_页面 ? 按钮文字,命名格式为:btn_按钮事件 ? 标签文字,命名格式为:label_标签文字

? textview的文字,如果只是说明作用,也以label_为前缀 ? 选项卡文字,命名格式为:tab_选项卡文字 ? 消息框文字,命名格式为:toast_消息

? 编辑框的提示文字,命名格式为:hint_提示信息 ? 图片的描述文字,命名格式为:desc_图片文字 ? 对话框的文字,命名格式为:dialog_文字 ? menu的item文字,命名格式为:action_文字 9. colors命名

{程度_}主颜色

颜色命名以可复用为主,相同颜色程度不同需要加前缀区分。 10. dimens命名

{_范围}{_控件}_后缀,控件、范围可选,但控件和范围至少要有一个。 11. drawable命名

前缀{_控件}{_范围}{_后缀},控件、范围、后缀可选,但控件和范围至少要有一个。

? 图标类,添加icon前缀 ? 背景颜色,添加bg前缀 ? 文本颜色,添加text前缀 ? 分割线颜色,添加div前缀

? 控件按下显示不同状态,添加selector后缀 ? 区分状态时,默认状态的颜色,添加normal后缀 ? 区分状态时,按下时的颜色,添加pressed后缀 ? 区分状态时,选中时的颜色,添加selected后缀 ? 区分状态时,不可用时的颜色,添加disable后缀 12. 动画命名

动画类型_动画方向。 ? fade_in,淡入 ? fade_out,淡出


Android编码规范.doc 将本文的Word文档下载到电脑
搜索更多关于: Android编码规范 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219