您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页Android:开发规范

Android:开发规范

来源:二三娱乐
说明
更新日期 2019-01-22

前言:无论哪种开发,都有一定的规范或者一些约定俗成的写法。遵循开发规范,无论是接手他人项目,还是他人接手自己的项目,都能快速上手。为此,在网上搜索了一些安卓的开发规范,并结合安卓系统的写法,整理记录。

包命名规范
采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为groupname(可以是公司或个人命名取的名词),三级包名根据应用程序名来取名,四级包名为模块名或层级名。比如:com.tencent.myapplicationname,表示tencent机构写的应用程序包名。

工程中的Java文件分包:

举例 说明
com.tencent.adapter Adapter类
com.tencent.domain 实体类,对象类
com.tencent.bean 元素类
com.tencent.utils 工具类
com.tencent.ui 视图类
com.tencent.activity 页面用到的Activity类
com.tencent.base Android应用中使用到的基类
com.tencent.db 数据库操作类
com.tencent.view 自定义的View类
com.tencent.service 服务类
com.tencent.broadcast 广播类
com.tencent.constant 常量字段类
com.tencent.widget UI类
com.tencent.activity Activity类

类名规范——Class

类名必须是名词,常采用帕斯卡命名规则(每个单词的首字母都必须大写),尽量避免缩写;

除非是约定俗成的名称,类名称中包含单词缩写的每个字母均应大写或者是首字母大写,例如:URL、HTML、HTTP等。

类名规范举例说明:

Activity类:WelcomeActivity、CourseActivity等;

Adapter类:NewDetailAdatper等;

公共方法类:ThreadPoolManager、LogTools等;

数据库类:NewDBHelper等;

Service类:TimeService等;

BroadcastReceiver类:TimeBroadcastReceiver等;

接口规范——Interface

接口命名规范和类规范一样采用帕斯卡命名规范,多以-able或-ible结尾(形容词或者副词),用以表示具备的一种功能,如Runnable、Accessible等。

方法规范——method

常见于动词或者动名词,采用驼峰命名法,如onCreate()等。

例如:

initXxx():初始化相关方法,使用init-作为前缀,例如:初始化布局initView();

isXxx():isXxxx()或者checkXxx()返回值为指定类型,使用is-或者check-为前缀;

getXxx():返回某种类型的值,使用get-为前缀;

processXxx():对数据进行处理,以process-为前缀;

displayXxx():弹出提示框或提示信息,以display-为前缀;

saveXxx():保存数据相关的方法,以save-为前缀;

resetXxx():对数据重置,或者是界面重置,使用reset-为前缀;

clearXxx():清除操作相关,使用clear-为前缀;

drawXxx():绘制数据或效果相关,使用draw-为前缀。

变量——variety

Android中变量的命名都采用驼峰命名规范,常见于名词。

普通变量命名规范

在需要表示一组变量的情况中,结尾处使用统一的量词,可以创建更加统一的变量,比如:

_First表示一组变量中的第一个;

_Last表示一组变量中的最后一个;

_Next表示一组变量中的下一个;

_Pre表示一组变量中的上一个;

_Cur表示一组变量中的当前变量;

常量——CONSTANT

常量全部用大写,采用下划线命名法,常使用名词。

代码中不允许出现直接硬编码的字面常量,如果是控件上显示的文本,必须放在/res/values/string.xml资源文件中;如果是代码中用到的常量字符串,必须定义成public static final String类型的常量值。

在Activit之间传递的参数,intent.putExtra(key, value)使用的key值也应该统一定义为静态常量,不能直接硬编码在代码中。

MIN_WIDTH表示最小的宽度值;

RESULT_PARSE_JSON_EXCEPTION;

RESULT_SUCCESS;

RESULT_NETWORK_EXCEPTION;

RESULT_NO_DATA;

Layout资源文件

Layout资源文件有多种,每种文件的命名规范均使用文件功能开头,如activity-、fragment-等。

activity资源文件:activity_description1_description2.xml;

fragment资源文件:fragment_description1_description2.xml;

drawable资源文件:controlName_description1_description2_selector.xml,
其中controlName表示该资源要用在什么类型的控件上。
例如:如果是按键的图片切换,则使用button_bg_sendmessage_selector.xml;selector表示该资源的形式,还比如:shape等。

颜色值的命名:color_description以color为前缀,description既可以是该颜色的功能描述,也可以是具体的颜色。
例如:color_white、color_grey、color_button_pressed等。

控件的ID命名规范

参考模式:业务逻辑控件类型功能。

例如:
splash_tv_version:表示该控件是使用splash业务逻辑中具有版本控制功能的TextView;
user_btn_register表示该控件是使用在user业务中具有register功能的Button。

此外需要注意的是:.xml文件中的控件ID必须和.java文件中对应的控件对象名保持一致。

xml文件命名规范

  • .xml布局文件全部采用小写,使用下划线命名;

  • UI类文件命名规范:显示每个UI界面,每个类命名为:XxxActivity;同时界面类名和相应的.xml文件相同。如:activity_login.xml对应的类名为LoginActivity;

  • res/layout文件夹下的.xml文件,统一用小写和下划线“”组合命名 --> 模块名功能名.xml;

  • res/drawable文件中的资源:统一用小写和下划线“”组合命名 --> 待使用文件名逻辑名称,main_default.png;

  • adapter的子布局:功能模块_item.xml,如:main_item.xml;
    资源文件(drawable文件夹下的文件),全部小写,采用下滑线的形式命名;

  • btn_功能_说明:为按键命名

  • bg_功能_说明:为背景命名

  • def_功能_说明:为默认的资源文件命名

  • icon_功能_说明:为图标命名

命名后缀:
select:图片状态,代表选中状态
unselect:图标状态,代表未选中状态

与布局相关的控件变量命名规范

  • 类中的控件变量名必须与.xml布局id保持一致;

  • 若控件变量为类的字段,以m开头;

  • 控件变量名命名规则:类型+功能。如:mBtnBeginTest...

  • 对象类变量在方法体结束后,手动设置为null,以利于资源回收。

  • 不要使用原义数字或原义字符串,而是使用命名常量,以便于维护。如NUM_DAYS_IN_WEEK



其他:
源代码中尽量避免连续多行,应根据功能使用空行把代码适当地分段,代码段功能尽量清晰;如不能在30秒内理解代码功能,应为之添加注释予以说明。

源程序中要有适当的注释。

注释有助于裂解代码,有效的注释是指在代码的功能、意图层次上进行注释,提供有用的、额外的信息,而不是代码表面意义的简单重复。

包含在“{}”中代码块的结束处要进行注释,便于阅读。特别是多分支、多重嵌套的条件语句或循环语句。对分支语句(条件分支、循环语句)必须编写注释。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Copyright © 2019-2025 yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务