Android命名规范

1.1 包命名规范(Package)


采用反域名规则,包名全部小写,连续的单词只是简单的连接起来,不适用下划线,一级包名为com,二级包名为companyname(一般用公司域名或者个人命名),三级包名为appname(一般根据应用命名),四级包名为模块名或层次名,五级包名可选(可以用具体的功能或者位置命名),如:

包名此包中包含
com.companyname.appname.adapter所有的adapter类
com.companyname.appname.api提供给其他团队调用的接口类汇总
com.companyname.appname.data所有的元素/数据类
com.companyname.appname.config配置类
com.companyname.appname.download下载相关的类
com.companyname.appname.fragment所有页面用到的fragment
com.companyname.appname.providers所有的provider类以及相应的Helper类
com.companyname.appname.receivers广播接收相关类
com.companyname.appname.network网络请求相关类
com.companyname.appname.statistics发送统计需要用到的相关类
com.companyname.appname.util工具类
com.companyname.appname.viewholder列表展示用到的相应ViewHolder类
com.companyname.appname.view自定义View类
com.companyname.appname.listener回调接口类

2.1 Java类命名规范(Class)


类名以UpperCamelCase风格编写。

采用大驼峰式命名法,所有单词的首字母均大写,尽量避免缩写,除非该缩写是众所周知的,比如HTML,URL,如果类名称包含单词缩写,则单词缩写的每个字母均应大写。如:

描述例如
Activity类Activity为后缀标识GameCenterHomeActivity
Fragment类Fragment为后缀标识GameHomeFragment
AdapterAdapter为后缀标识GameRankAdapter
公共方法类Manager或Tools为后缀标识DownloadManager
Service类Service为后缀标识DownloadingService
BroadcastReceive类Receiver为后缀标识NetworkStateChangeReceiver
公共基础类Base为前缀,可放在Game之后GameBaseActivity
ContentProviderProvider为后缀标识GameCenterProvider
辅助类Helper为后缀,这些类主要用于为某些类(如自定义View)提供一些集成的操作方法GameJsInterfaceHelper
Dialog类Dialog为后缀标识GameDialog
bean元素类Info为后缀标识GameInfo
状态类,多为枚举类Status为后缀标识GameInfoStatus
自定义View类View为后缀GameTagView
ViewHolder类Viewholder为后缀GameHomeBannerItemViewholder
工具类Utils为后缀标识FileUtils

测试类的命名以它要测试的类的名称开始,以Test结束。例如,HashTest或HashIntegrationTest。

3.1 接口命名规范(interface)


采用大驼峰命名法。

在非主线程用到的接口名称多以able或ible结尾,如:

interface Runnable | interface Accessible

在主线程用到的接口名称以OnNameListener风格编写,On为前缀,Listener为后缀。

4.1 方法命名规范(method)


方法名都以lowerCamelCase风格编写。

采用小驼峰,除首字母小写外,其他首字母大写,通常是动词或动词短语,如:

onCreate() | run()

注意:接口类中的方法名全部以on为前缀标识

5.1 成员变量命名


lowerCamelCase风格编写。

采用小驼峰法。

5.1.1 成员变量命名

mLowerCamelCase风格编写,使用Google的m命名法,在成员变量名加上m前缀。例如:

private String mUserName;

5.1.2 常量命名

常量名命名模式为CONSTANT_CASE,全部字母大写,用下划线分隔单词。常量是指用static final关键字定义的,一直不变的值。

5.1.3 参数名

参数名以lowerCamelCase风格编写。
参数应该避免用单个字符命名。

5.1.4 类型变量名

类型变量可用以下两种风格之一进行命名:

  • 单个的大写字母,后面可以跟一个数字(如:E, T, X, T2)。
  • 以类命名方式(2.1节),后面加个大写的T(如:RequestT, FooBarT)。

5.1.5 控件实例命名

类中控件名称必须与xml布局id保持一致(可以去掉{module_name}),并与5.1.2节中的临时成员变量命名保持一致,以m为前缀,以首字母大写代替下划线分割。例如:

在布局文件中Button的id为:android:id="@+id/btn_{module_name}_pay"

在类中控件实例命名为: private Button mBtnPay;

6.1 布局文件(Layout)命名规范


全部小写,采用下划线命名法。其中{module_name}为业务模块或是功能模块等模块化的名称或简称。

Layout格式例子
activity layoutactivity_{module_name}_{名称}activity_home.xml
fragment layoutfragment_{module_name}_{名称}fragment_manager.xml
Dialog layoutdialog_{module_name}_{名称}dialog_loading.xml
列表项布局命名(ListView中用到的item项)listitem_{module_name}_{名称}listitem_customer.xml
包含项布局命名include_{名称}game_include_head.xml
非ListView中的adapter的子布局item_{module_name}_{名称}item_order.xml
自定义View的布局widget_{module_name}_{名称}widget_shopping_detail.xml

7.1 资源id命名规范


命名模式为:{view缩写}_{module_name}_{view的逻辑名称},如:

首页布局 LinearLayout 的布局id –> ll_home_content

简称为as模块的 ImageView 的布局id –> iv_as_photo

常见控件View与其缩写对照参考表如下:

控件缩写
LinearLayoutll
RelativeLayoutrl
FrameLayoutfl
TextViewtv
Buttonbtn
ImageButtonibtn
ImageViewimg
CheckBoxcb
RadioButtonrb
EditTextet
ProgressBarpbar
WebViewwebv
ScrollViewsclv
ListViewlv
RatingBarratbar
SeekBarskbar

8.1 图片资源文件命名规范(drawable文件夹下)


{前缀}_{module_name}_{名称}风格命名,全部小写,采用下划线命名法。

前缀说明
ic–icon图标
bg–background背景图片
btn–button主要用于按钮的表示,有时我们会在ic和btn之间犹豫,简单的区分即是功能视图,如果一个view执行的是back或者confirm或者cancel的功能,则命名上则应该使用btn
di–divider分割线,不仅包括Listview中的还包括普通布局中的线
sl–selector主要用于某一view多种状态,listview 按钮等
cl–color主要用于颜色值

ps: 不知道用什么前缀的话,可以暂时用ic

9.1 字符串命名(string)


最好不要跟title、dialog、button等东西关系起来,直接用相同英文含义就可以了(可以以game_为前缀,防止与其他工程中的资源重名),如下:
<string name="ok">确定</string>
<string name="welcome_to_use">欢迎使用</string>

再举一些不好的例子,如下
<string name="menu_ok ">确定</string>

本篇参考文章列表:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android开发规范主要分为以下几个方面:Java语言规范、Android资源文件命名与使用、Android基本组件、UI与布局、进程、线程与消息通信、文件与数据库、Bitmap、Drawable与动画、安全等。这些规范根据约束力的强弱分为强制、推荐和参考三大类。 其中,Java语言规范主要遵循《Java开发手册》,涵盖了Java的语法、命名规范和编码风格等方面的约定。Android资源文件命名与使用规范指导开发人员如何命名和使用资源文件,以提高代码的可读性和维护性。Android基本组件规范包括了对Activity、Fragment、Service等组件的使用规范,以及对生命周期和事件处理的要求。UI与布局规范涵盖了界面设计、布局文件的编写和使用等方面的约定。进程、线程与消息通信规范指导开发人员在多线程环境下进行进程间通信和消息传递的正确方法。文件与数据库规范包括了对文件操作和数据库访问的规范和最佳实践。Bitmap、Drawable与动画规范涵盖了对图片资源的处理和动画效果的实现。安全规范指导开发人员如何处理Android安全机制的升级和防止安全漏洞的发生。 总结来说,遵循Android开发规范能够帮助开发人员编写出高质量、高效率的Android应用程序,提高代码的可读性、可维护性和安全性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Android开发规范](https://blog.csdn.net/zty762357419/article/details/121118281)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Android中webview和js之间的交互调用](https://download.csdn.net/download/jianxin882000/88222550)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值