最近在阅读修改别人的代码,发现规范问题太多,一方面同一个功能的代码反复出现,不利于以后修改;一方面不注意规范,控件等用途延长修改时间。注意规范,做好基本功,起码屏幕这块也就不会出现需要不同适配的问题。
通过网上其他资源,我整理出来的Android开发规范:
一,分包方式
src
├ cn.eoe.app --存放程序全局性类的包
├ cn.eoe.app.adapter --存放适配器的实现类的包
├ cn.eoe.app.adapter.base --存放适配器基类的包
├ cn.eoe.app.biz --存放DAO类的包
├ cn.eoe.app.config --存放常量,配置和api接口等类的包
├ cn.eoe.app.db --关于sqlite操作相关的类的包
├ cn.eoe.app.db.biz --详细的增删改查类的包,暂时仅有一个类
├ cn.eoe.app.entity --实体类包
├ cn.eoe.app.entity.base --实体类基类包
├ cn.eoe.app.https --网络访问相关类的包
├ cn.eoe.app.indicator --导航相关的类包
├ cn.eoe.app.slidingmenu --滑动菜单相关类包
├ cn.eoe.app.ui --界面相关的包,activity的类
├ cn.eoe.app.ui.base --activity相关的基类包
├ cn.eoe.app.utils --工具类包
├ cn.eoe.app.view --Fragment相关类的包
├ cn.eoe.app.widget --自定义view组件包
├ com.google.zxing.camera --第三方定义,控制摄像头包
├ com.google.zxing.decoding -- 二维码图像解码包
├ com.google.zxing.view -- 自定义View,控制拍摄取景框和动画等
二、控件命名规范
extView :txt_+描述
Button :btn_+描述
ImageButton :ib_+描述
ImageView :img_+描述
CheckBox :chk_+描述
RadioButton :rb_+描述
AnalogClock :ac_+描述
DigitalClock :dc_+描述
DatePicker :dp_+描述
TimePicker :tp _+描述
ToggleButton :tb_+描述
EditText:edit_+描述
ProgressBar:pb_+描述
SeekBar:sb _+描述
AutoCompleteTextView:autotxt_+描述
MultiAutoCompleteTextView:mlautotxt_+描述
ZoomControls:zc_+描述
Include:ind_+描述
VideoView:vv_+描述
WebView:wv_+描述
RatingBar:ratbr_+描述
Tab:tab__+描述
Spinner:spin_+描述
Chronometer:chro_+描述
ScrollView:sv_+描述
TextSwitcher:tswi_+描述
Gallery:gal_+描述
ImageSwitcher:imgswi_+描述
GridView:gv_+描述
ListView:lv_+描述
ExpandableList: exl_+描述
MapView: mv_+描述
控件说明如下:
• TextView - 文本显示控件
• Button - 按钮控件
• ImageButton - 图片按钮控件
• ImageView - 图片显示控件
• CheckBox - 复选框控件
• RadioButton - 单选框控件
• AnalogClock - 钟表(带表盘的那种)控件
• DigitalClock - 电子表控件
• DatePicker - 日期选择控件
• TimePicker - 时间选择控件
• ToggleButton - 双状态按钮控件
• EditText - 可编辑文本控件
• ProgressBar - 进度条控件
• SeekBar - 可拖动的进度条控件
• AutoCompleteTextView - 支持自动完成功能的可编辑文本控件
• MultiAutoCompleteTextView - 支持自动完成功能的可编辑文本控件,允许输入多值(多值之间会自动地用指定的分隔符 分开)
• ZoomControls - 放大/缩小按钮控件
• Include - 整合控件
• VideoView - 视频播放控件
• WebView - 浏览器控件
• RatingBar - 评分控件
• Tab - 选项卡控件
• Spinner - 下拉框控件
• Chronometer - 计时器控件
• ScrollView - 滚动条控件
• TextSwitcher - 文字转换器控件(改变文字时增加一些动画效果)
• Gallery –画廊控件
• ImageSwitcher - 图片转换器控件(改变图片时增加一些动画效果)
• GridView - 网格控件
• ListView - 列表控件
• ExpandableList - 支持展开/收缩功能的列表控件
三、基本数据类型命名规范
Integer:int+描述 Char:chr+描述 Boolean:bln+描述
Long:lng+描述 Short:shr +描述 Double:dbl+描述
String:str+描述 Float:flt+描述 Single:sng+描述
DataTime:dt+描述 Array:arr+描述 Object:obj+描述