cece—android开发规范v1

2016-06-20  本文已影响38人  工木南ng

包目录说明

-constant-常量
-db-数据库相关,数据库采用xutils
-event-数据响应/事件结构体
-model-模型
    --buiness-业务类
    --entity-实体
    --param-参数对象
-network-网络请求
-ui
    --activity activity控制活动
    --adapter 适配器
    --fragment 具体布局
    --presetner 业务接口 
    --presetnerimpl 业务具体实现 
   --widget 各种自定义控件
-util 工具类

资源命名

图片资源

图片资源是App中内存占用最高的部分,而内存占用大小和图片的分辨率成正比,原则上项目中使用的所有分辨率较大的PNG图片资源都要尽量进行.9.png格式处理,通过减少图片分辨率来降低内存占用。
这里描述图片命名规范的范围不仅指放在drawable-hdpi、drawable-xhdpi中的png图片,也包括drawable文件夹下面采用xml生成的图片

静态图片

背景图片

a) 通用背景图片命名:bg_general_描述.png
b) 子模块背景图片命名:bg_模块名_描述.png
例如:bg_general_title.png、bg_account_logo.png

按钮图片

a)    通用按钮图片命名:btn_general_描述.png
b)  子模块按钮图片命名:btn_模块名_描述.png
例如:btn_general_ok.png、btn_account_login.png

普通Icon图片

a)    通用Icon图片命名:ic_general_描述.png
b)  子模块Icon图片命名:ic_模块名_描述.png
例如:ic_general_header.png、ic_settings_network.png

动态图片

背景图片

a) 通用背景图片命名:

 bg_general_描述_selected[unselect|pressed].png,
对应drawable文件夹下selector命名:bg_general_描述_selector.xml

b) 子模块背景图片命名:

bg_模块名_描述_selected[unselect|pressed].png,
对应drawable文件夹下selector命名:bg_模块名_描述_selector.xml

按钮图片

a) 通用按钮图片命名:

btn_general_描述_selected[unselect|pressed].png,
对应drawable文件夹下selector命名:btn_general_描述_selector.xml

b) 子模块按钮图片命名:

 btn_模块名_描述_selected[unselect|pressed].png,
对应drawable文件夹下selector命名:btn_模块名_描述_selector.xml

通用字符串资源

通用的字符串资源一般不与特定模块关联,字符串定义直接按中英文翻译即可。例如在strings.xml文件中定义如下字符串资源:


<string name=yes>Yes</string>
<string name="no">No</string>
<string name="load_more">Load More</string>
<string name="cancel">Cancel</string>
<string name="save">Save</string>
<string name="add">Add</string>

子模块字符串资源

子模块字符串资源定义格式规范:子模块名_英文描述。例如在strings.xml文件中分别定义如下字符串资源:

<string name="error_delete">Sorry, an error occurred while attempting to delete the %s.</string>
<string name="error_refresh">Sorry, %s could not be refreshed at this time. Please try again later.</string>
<string name="error_upload">Sorry, an error occurred while uploading the %s.</string>


<string name="media_edit_title_text">Title</string>
<string name="media_edit_description_text">Description</string>
<string name="media_edit_title_hint">Enter a title here</string>

颜色资源

默认颜色资源

为了防止颜色资源重复定义,便于统一管理,会在colors.xml文件中定义整个应用默认的几种主色调,颜色的英文名字定义不要与模块名关联,例如:


<color name="light_gray">#E6E6E600</color>
<color name="gray">#CCCCCC00</color>
<color name="white">#FFFFFF00</color>
<color name="black">#00000000</color>
<color name="list_row_bg">#EEEEEE00</color>
<color name="list_row_selected">#7E7E7E00</color>

子模块特有颜色资源

如果子模块有特殊的定制需求,可以在colors.xml文件中定义对应模块的颜色资源,颜色的英文名定义规范:模块名_描述_color[background]。例如:


<color name="chat_content_background">#AAAAAA00</color>
<color name="chat_title_background">#BBBBBBB00</color>
<color name="chat_word_color">#CCCCCC00</color>

布局资源

自定义布局的命名规范如下:

类和接口命名

使用大驼峰规则,用名词或名词词组命名,每个单词的首字母大写。
以下为几种常用类的命名:

activity类,命名以Activity为后缀,如:LoginActivity
fragment类,命名以Fragment为后缀,如:ShareDialogFragment
service类,命名以Service为后缀,如:DownloadService
adapter类,命名以Adapter为后缀,如:CouponListAdapter
工具类,命名以Util为后缀,如:EncryptUtil
模型类,命名以BO为后缀,如:CouponBO
接口实现类,命名以Impl为后缀,如:ApiImpl

成员变量规范

方法命名规则

在layout布局文件中,所有控件ID采用小写下划线命名法。
以下为几种常用方法的命名:
初始化方法,命名以init开头,例:initView
按钮点击方法,命名以to开头,例:toLogin
设置方法,命名以set开头,例:setData
具有返回值的获取方法,命名以get开头,例:getData
通过异步加载数据的方法,命名以load开头,例:loadData
布尔型的判断方法,命名以is或has,或具有逻辑意义的单词如equals,例:isEmpty

控件View变量命名规则

由于采用了xutils3 框架的注解框架,所以对应的控件View的类成员变量也采取和Id一致的命名规则,例如:

/** 登录按钮 **/
@ViewInject(R.id.btn_login)
Button btn_login;
/** 注册按钮 **/
@ViewInject(R.id.btn_register)
Button btn_register;
/** 用户名**/
@ViewInject(R.id.et_account)
EditText et_account;
/** 密码 **/
@ViewInject(R.id.et_pwd)
EditText et_pwd;
@ViewInject(R.id.tv_title)
TextView tv_title;

控件缩写对照表

控件 缩写 控件 缩写
TextView txt EditText et
Button btn ImageButton ibtn
ImageView img ListView list
RadioGroup rg RadioButton rbtn
ProgressBar progress SeekBar seek
CheckBox ck Spinner spinner
TableLayout tablel TableRow row
LinearLayout layout RelativeLayout rlayout
ScrollView scroll SearchView search
TabHost host TabWidget widget
PopupWindow pw

其他成员变量命名规则

其他类型的成员变量命名规则为:m+类名,Boolean类型的成员变量命名规则为:is+逻辑名。例如:

private Context mContext;
private long mUserId;
private boolean isToOpenGps = false;

常量命名

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

  public final static int PAGE_SIZE = 20;

成员变量书写顺序

依次是:公开的静态final常量、私有的静态final常量、公开成员变量、私有成员变量、控件View变量放在最后。

禁止的编码规范

建议的编码规范

上一篇下一篇

猜你喜欢

热点阅读