一、包结构设计
一般来说都是使用开发组织的域名作为项目中的包名。例如愤怒的代码域名为 angrycode.net
则可以用net.angrycode作为包名,然后再根据项目的模块进行细分。例如做开发一个新闻类应用 net.angrycode.reader 作为一个主模块,另外net.angrycode.common作为一个公共模块,子模块下面按照组件功能分,例如reader包下分activity,adapter,dao,service,receiver
二、layout文件的命名
使用场景_功能模块_逻辑描述
1、contentView(使用setContentView())
(1)对于Activity:activity_功能模块.xml 或者activity_功能模块_逻辑或描述.xml。例如登录页面activity_login.xml,关于页面activity_about.xml
(2)对于fragment:fragment_功能模块.xml 或者activity_功能模块_逻辑或描述.xml 。例如fragment_login.xml,fragment_main_news.xml
2、列表项命名
list_item_功能模块_逻辑或描述.xml。例如主页中的新闻列表页,list_item_main_news.xml;新闻收藏列表,list_item_user_favorite.xml
3、PopupWindow
ppw_功能模块_逻辑或描述.xml。例如主页底部仿IOS弹出框,ppw_main_more_share.xml
4、dialog
dialog_功能模块.xml 或 dialog_功能模块_逻辑或描述.xml。例如通用对话框,dialog_common.xml
5、包含项
include_功能模块.xml 或者 include_功能模块_逻辑或描述.xml。如果是十分通用的比如说自定义样式的titlebar 可以采用
include_common_titlebar.xml
二、drawable文件命名
1、静态文件
(1)资源缩写说明
icon : ic
background : bg
selector : sel 按钮或ListView中的多种点击效果
divider :div 表示分割线
color : color 颜色值
unit : 在使用xml的tilemode来配图片时,element图片使用此后缀
用于标记的icon不可点击的icon
ic_模块_描述.png 例如,登录页面密码输入框前面有icon标识,相当于label,可以用icon_main_pwd.png
背景图片
bg_模块_逻辑或描述.png
例如一张通用背景图 bg_common.png
2、动态图片
(1)按钮图片
sel_模块_逻辑或描述.xml,例如通用的按钮点击效果 可以用 sel_common_btn.xml,这个selector使用到的两张静态图片用命名方式为
ic_模块_逻辑或描述_normal.png
ic_模块_逻辑或描述_press.png
ic_模块_逻辑或描述_focus.png
例如,ic_common_btn_normal.png,ic_common_btn_press.png
按下:press
正常:normal
焦点:focus
(2)动画文件
anim_模块_逻辑或描述.xml
例如anim_common_slide_left.xml
三、类名定义
各大组件:activity,service,receiver,provider,adapter,
模块+逻辑描述+Activity 例如LoginActivity.class,MainActivity.class,BaseActivity.class
四、类成员的命名
1、常用控件缩写
LinearView,LinearLayout:lv
RelativeView,RelativeLayout:rv
FrameLayout : fv
TextView:tv
WebView:wv
ImageView:iv
ImageButton:im
Button:btn
CheckBox:ckb
RadioButton:rbtn
RadioGroup:rg
ListView :list
GridView :gv
SeekBar sbar
ProgressBar pbar
EditText edt
2、变量命名
(1)非公有、非静态字段命名以m开头。
(2)静态域命名以s开头。
(3)公有字段以小写字母开头。
(4)public static final 字段(常量) 全部大写,并用下划线连起来。