以大写开头,如果一个类的类名由多个单词组成,所有单词的首字母必须大写,单词尽量写全称,不要简写,除非约定俗成的名字,例如:URL,RTMP,RTSP 这些广泛使用的专有名词,可以全部大写,也可以首字母大写。
AD:
命名规则
1). 类名,接口名:
以大写开头,如果一个类的类名由多个单词组成,所有单词的首字母必须大写,单词尽量写全称,不要简写,除非约定俗成的名字,例如:URL,RTMP,RTSP 这些广泛使用的专有名词,可以全部大写,也可以首字母大写。
例如 HttpRequest,CourseActivity
2). 局部变量,类的变量,类的函数,函数参数:
以小写字母开头其他的单词首字母大写,变量名不使用下划线分隔单词,使用驼峰命名法,Android的系统类都采用此方法。
例如 toString() onCreateView(Bundle savedInstanceState)
3). 静态常量:全部大写,单词之间使用下划线分开,常量单词全部大写,所以单词之间使用下划线分隔。
例如 WHAT_EMPTY_CONTENT
4). 控件变量的命名,控件的ID命名:
:xml布局文件中的控件的id的命名与.java的代码文件中的控件对象的命名一致。
关于字面常量
代码中不允许出现直接硬编码的字面常量,如果是控件显示的文本,必须放在strings.xml资源文件中。 如果是代码中用到常量字符串,必须定义成 public static final String类型的常量值,在代码中使用该定义的常量值。这样做的好处是以后需要修改该常量值,只需要修改一个地方。如果是硬编码在代码中则要修改所有使 用它的地方,而且拷贝容易出错。在Activity之间传递参数的时候,intent.putExtra 的key值也要命名规范,并且统一定义为静态常量,不能直接硬编码在代码中,否则想要修改的时候很麻烦。某一个Activity在被启动的时候需要接受参 数,那么这些参数的key定义就应该放在该Activity中。
JSON解析
Android中调用服务端的接口一般返回的是json数据,在解析json的时候,无论是使用原始的手工解析方式,还是使用javabean的解 析方式,解析出来的结果在使用的时候必须都进行判空处理。不允许因为服务端的json出问题,导致app在解析json的时候出现崩溃。
类初始化
所有类的变量一定要赋初始值,不允许只定义,不赋值。
Int类型常量
函数返回的时候,如果返回的int类型的数据并不是真实的实用的数据值(例如表示高度,宽度,大小等值),仅仅表示函数执行成功、失败、异常的状态值,并且这些值是有限的几个值,必须要将这些值使用静态常量描述,或者使用枚举,例如:
该函数返回-1表示获取解析json数据异常,返回0表示成功,返回1表示网络连接异常,返回2表示json内容中的数据部分为空。那么在函数内部的代码里不要直接使用这些字面值,这些字面值对于程序员来说是毫无意义的,代码可阅读性很差,做成下面的模式:
使用这些符号常量值代替字面值的好处是,符号常量值是由大写的英文单词组成,是有意义的,可以帮助程序员更好的理解函数返回值的意义,而且符号常量值对应的具体的赋值在后期是很方便修改的。
Activity接受参数与模块化
如果一个Activity可能在多个地方被打开,或者一个Fragment可能在多个地方被用到。那么在设计该Activity和Fragment 的时候一定要考虑低耦合,对外提供统一的参数接口,启
参数的传递最好是封装在一个Model实体类中,避免使用Map这种方式进行参数传递。该实体类实现为对应的Activity的静态可序列化的内部类。
AndroidStudio工程目录组织
AndroidStudio中的项目的包结构应该根据工程各个部分的功能来组织。
Handler的封装
每一个Activity里面几乎都会定义一个Handler内部类,但是很多Activity里面的Handler都使用了重复的消息类型,这里面 是有冗余代码的,所以应该把这些Activity都使用到的Handler类的消息部分,提取成一个公用的Handler类。然后在各个Activity 里面使用继承的方式,来提供该Activity特有的Handler消息类型的Handler类实现。
另外Handler发送消息应该使用Handler类的函数,不应该直接使用src=
498)this.width=498; onmousewheel = javascript:return big(this) width=500 height=463 alt=11 src=