Android命名规范和编码规范

核心理论

尽量简单,多写注释

Android命名规范

Java类文件命名规范:
Activity:
以Activity作为后缀.如PersonActivity,分配在以模块命名的package中

Adapter:
以Adapter作为后缀,如PersonAdapter,分配在adapter包中

Entity:
以Entity作为后缀,但值得注意的是User是全局变量,不需要遵守;
资源文件命名规范:
layout:
1.页面布局文件:
以act作为前缀,以activity所在的package作中缀,以activity的名称作为后缀.
如person模块下的的AddCustomerActivity,则是act_person_addcustomer.xml

2.listview的item布局文件:
以item作前缀,列表的名称作后缀.如listview的名称为userlist,则是item_userlist.xml

3.Dialog布局文件:
以dlg作为前缀,功能作为后缀

drawable:
1.对于只在一个页面使用的资源,就该以页面的名称作为前缀
2.对于只在一个模块下多个页面使用的资源,就以该模块的名称作为前缀
3.对于在各个模块,各个页面都有可能使用的文件,比如是上导航,以commom作为前缀
Java类中控件对象的命名规范:
以控件类型缩写+控件的功能(首字母待大写),如登陆按钮:btnLogin

常用控件缩写:
Layout:ll
Relative:rv
TextView:tv
Button:btn
ImageButton:img
ImageView:iv
CheckBox:chk
RadioButton:rb
DatePicker:dp
EditText:et
TimePicker:tp
toggleButton:tb
ProgressBar:pb
WebView:wv
RantingBar:rb
Tab:tab
ListView:lv
MapView:mv
Layout中空间的命名规范
1.以代码中的代码名称命名
Button btnLogin=(Button)findViewById(R.id.btnLogin);
好处是可以直接copy,相当直观;
坏事是违反了规则:大写,没有以下划线连接

2.标准命名
Button btnLogin=(Button)findViewById(R.id.btn_login);
string.xml中常量的命名规范
1.因为这些值大多在layout中的控件中使用,所以该常量所在的activity名称作为前缀后接控件名称+内容描述
如登陆按钮的文字:loginAcitivity_btnLogin_text;

2.有些则可能会在代码中使用,且是在公共模块或者工具类中使用,就以commom作为前缀

3.string.xml可以将其按照模块分为多个string文件,只要resource标签下都是string标签就行
常量命名:
只能包含字母和下划线,字母全部大写,单词之间使用下划线隔开;
如URL_BASE;

Android编码规范

1.分门别类的包在存放各种类
com.xxx.activity.others
com.xxx.activity.personcenter
com.xxx.adapter
com.xxx.db
com.xxx.engine
com.xxx.entity
com.xxx.interfaces
com.xxx.listener
com.xxx.ui
com.xxx.utils
2.fvbi的使用
即使是只使用一次也要
TextView tvLoginStatus;
oncreate(){
    ...
    tvLoginStatus=(TextView)findViewById(R.id.tv_LoginStatus);
}
3.Layout布局文件中的常量,要在strings.xml中定义;
<resources>
    <string name="tvPersonCenter">评论</string>
</resources>
<TextView android:text="@string/tvPersonCener">
4.Layout中所有空间的字体大小,都要定义在dimens.xml文件中,相当于网站的CSS样式表
<resources>
    //字体
    <dimen name="font_size_tiny">10sp</dimen>
    <...
    <...
    //边距
    <dimen name="offset_2dp">2dp</dimen>
    <...
    <...
</resourecs>
<TextView
    android:textSize="@dimen/font_size_normal".../>

在有必要的情况下甚至可以使用style来同意风格
5.Acitivity中统一生命周期
将onCreate分割为三个部分:
initVariables:
初始化变量,包括intent中的数据和activity内部使用的数据
initViews:
加载layout布局,初始化控件
loadData:
调用api
6.实体化json,
禁止使用不能序列化的数据结构除非是为了实现某种算法
7.使用Intent传值,尽量减少全局变量的使用
8.添加事件监听时使用匿名内部类,更能提现面向对象的思想,
千万不要在button使用onclick属性
9.不要在activity中嵌套内部类
10.adapter
存放在adapter包中
holder统一命名为ViewHolder
数据类都使用arraylist<data>
11.实体类不要在不同模块共享
12.使用统一的三方图片加载框架
13.shareprefences的使用
简单的配置信息如页面的各种开关使用sp,
复杂的对象等等还是使用数据库
14.在可以的情况下,尽量使用applicationContext代替context
15.数据类型转换一定要进行校验
16.使用final static 来代替枚举类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值