Android开发规范


目录


项目结构

代码结构

命名规范

● 方法

● 变量

● 类

● 文件

● 常量

注释

项目结构


由于公司有两个应用产品,然后分了一个lib存放两产品公共东西.

Android开发规范_第1张图片
Lib结构

Common:存放两产品公共类和方法.

Manager:公共服务类,广播类. 服务类:TestService,广播类:TestReceiver.

Net:存放两产品网络请求,json解析.

Utils:存放两产品工具类和工具管理类,命名以Utils或Manager为后缀标识,线程池管理类:ThreadPoolManager,日志工具类:LogUtils.

Widget:公共自定义控件和组件,命名以View为后缀标识,例如:TestView. 如果有组件在 widget下创建组件名组件类,例如:级联组件 创建 wheel存放文件.

BaseApplication:公共Application基类.


Android开发规范_第2张图片
应用结构


Bean :存放实体类,返回数据实体,命名以Entity为后缀标识,例如:TestEntity。

Common:存放公共类,config类命名为AppConfig,常量类命名为Constants.

db:存放数据操作类,简单数据存储类.

Manager:公共服务类,广播类. 服务类:TestService,广播类:TestReceiver.

Net:存放网络请求,json解析.

Ui:

   Activity:存放Activity ,命名以Activity为后缀标识,例如:TestActivity.

   Adapter:存放适配器类,命名以apt为后缀标识,例如:TestApt

   Fragment:存放适配器fragment类,命名以fragment为后缀标识,例如:TestFragment.

   Widget:自定义控件和组件,命名以View为后缀标识,例如:TestView. 如果有组件在 widget下创建组件名组件类,例如:级联组件 创建 wheel存放文件.

Utils:存放工具类,命名以Utils或Manager为后缀标识,线程池管理类:ThreadPoolManager,日志工具类:LogUtils.


代码结构


@Bind(R.id.ivAddIoc)

ImageView ivAddIoc;

@Bind(R.id.tvAddAddress)

TextView tvAddAddress;

@Override

protected void onCreate(Bundle savedInstanceState) {

//TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.act_address_shangchao);

ButterKnife.bind(this);

initView();

}

/*

* 初始化View

*/

public void initView() {

}

/*

* 加载数据

*/

public void loadData() {

}

/*

* 更新View

*/

private Handler mHandler=new Handler() {

   public void handleMessage(Message msg) {

   }

};

@Override

protected void onStart() {

//TODO Auto-generated method stub

super.onStart();

loadData();

}

@Override

protected void onResume() {

//TODO Auto-generated method stub

super.onResume();

}

@Override

protected void onRestart() {

//TODO Auto-generated method stub

super.onRestart();

}

@Override

protected void onPause() {

//TODO Auto-generated method stub

super.onPause();

}

@Override

protected void onStop() {

//TODO Auto-generated method stub

super.onStop();

}

@Override

protected void onDestroy() {

//TODO Auto-generated method stub

super.onDestroy();

}

@OnClick({R.id.ivAddIoc,R.id.tvAddAddress})

public void onClick(View view) {

     switch(view.getId()) {

          caseR.id.ivAddIoc:

          break;

          caseR.id.tvAddAddress:

          break;

     }

}


命名规范


● 方法

动词或动名词,采用小驼峰命名法例如:onCreate(),run()

如:

initXX() 初始化相关方法,使用init为前缀标识,如初始化布局initView()

isXX() checkXX()方法返回值为boolean型和检查方法的请使用is或check为前缀标识

getXX() 返回某个值的方法,使用get为前缀标识

processXX() 对数据进行处理的方法,尽量使用process为前缀标识

displayXX() 弹出提示框和提示信息,使用display为前缀标识

saveXX() 与保存数据相关的,使用save为前缀标识

resetXX() 对数据重组的,使用reset前缀标识

clearXX() 清除数据相关的

removeXXX() 移除数据相关的

drawXXX() 绘制数据或效果相关的,使用draw前缀标识

● 变量

Camel 标记法:首字母是小写的,接下来的单词都以大写字母开头

布局文件控件命名使用Android Studio JakeWharton 的butterknife帮我们的生成控件命名点击这里查看butterknife工具操作

● 类

类名通常以大写字母开头,如果类名称由多个单词组成,则每个单词的首字母均应为大 写例如TestPage;如果类名称中包含单词缩写,则这个所写词的每个字母均应大写.

如:XMLExample,还有一点命名技巧就是由于类是设计用来 代表对象的,所以在命名类时应尽量选择名词。

● 文件

资源布局文件(XML文件(layout布局文件)):

全部小写,采用下划线命名法

1). Activity默认布局,以去掉后缀的Activity类进行命名:

act_功能模块.xml

例如:act_main.xml、act_more.xml

2).Dialog命名:dialog_描述.xml

例如:dlg_hint.xml

2).PopupWindow命名:ppw_描述.xml

例如:ppw _info.xml

3).包含项:include_模块.xml

例如:include_head.xml、include_bottom.xml

4).adapter的子布局:adp_功能模块_item.xml

例如:adp _main_item.xml

● 常量

常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词

如:MAX_VALUE

注释


1.文件头注释

每一个文件的文件头都必须做文件头注释。文件头注释范例如下:

/**文件名:LoginActivity

*描    述:对用户

*作    者:

*时    间:
*版    权:

*/

2.方法头注释

每一个成员方法头都必须做方法头注释。

自定义成员方法注释范例如下:

/**

*方法描述

*@param strName 参数

*@return 方法数据返回

*/

3.块注释

在实现一段阶段性功能的代码前做块注释。块注释的注释范例如下:

Android开发规范_第3张图片

4.变量注释

所有的成员变量和大多数局部变量在声明时都需要为其做功能注释。

成员变量注释的注释范例如下:

Android开发规范_第4张图片

局部变量注释的注释范例如下:

Android开发规范_第5张图片

5.语句注释

在关键语句的右侧要做单条语句注释。

语句注释的注释范例如下:

Android开发规范_第6张图片

你可能感兴趣的:(Android开发规范)