【软件开发规范六】《Android开发编码规范》

简介: Android开发编码规范

目录

一.工程包命名

二.类文件命名

三. 图片等资源文件命名

四.程序中变量 常量命名


一.工程包命名

工程包名

com. 公司名称简写.应用名称简写(拼音或者英文).activity  放工程的主Activity 以及BaseActivity

com. 公司名称简写.应用名称简写(拼音或者英文).activity.list  在activity下面建一个文件夹list放所有的ListActivity  

com. 公司名称简写.应用名称简写(拼音或者英文).adapter 放和主activity对应的adapter 以及通用adapter

com. 公司名称简写.应用名称简写(拼音或者英文).adapter.item 放和listAcitivity对应的Adapter

com. 公司名称简写.应用名称简写(拼音或者英文).bean  放javabean类

com. 公司名称简写.应用名称简写(拼音或者英文).util  放各种工具类  (图片,字符,时间,dalog 等)

com. 公司名称简写.应用名称简写(拼音或者英文).net  放和服务器交互的类

com. 公司名称简写.应用名称简写(拼音或者英文).view 放 自定义view的类

com. 公司名称简写.应用名称简写(拼音或者英文).db  放 本地数据库操作相关的类


当然 上面的公司名称可以换成别的 ,尽量用简写或者英文  比如qq:  就可以写成 com.tencent.qq.activity,大家明白这个意思就好。


二.类文件命名

1. activity

activity 我习惯分为两种考虑, 一种是列表数据的, 第二种是普通的activity 。这么分有个好处就是找这个类的时候方便。当你看到这个界面时列表数据的时候 直接搜索listActivity就能过滤掉一大部分,然后再筛选会简单很多。这个大家从上面我定义的包名中就看出来了。

所以 activity的命名是 : 功能简写+Activity

     功能简写+ListActivity

登录:LoginActivity

用户列表:UserListActivity


2. layout xml

全部小写,用_隔开     xml命名 分为几种

主Activity用到的xml : activity_activity名称简写.xml       activity_login.xml

include的xml:include_功能简写.xml             include_top_search.xml

adapter中用到的xml:item_adapter名称简写.xml   item_user_list.xml

dialog用到的xml:dialog_功能简写.xml                dialog_show_tips.xml

自定义view用的xml  :view_view名称简写.xmlview_header.xml  这个就是共用的view  也可以用common_view名称简写.xml替换


附加:xml中 控件id命名

模块名称_view的逻辑名称_view缩写

用户名EditText :   login_username_et

登录确认Button:       login_confirm_btn

LayoutView   lv

RelativeView rv

EditText et

TextView tv

Button btn

ImageButton imgBtn

ImageView iv

CheckBox   cbx

RadioButton rbtn

其他的类似  不一一列举  这些都不是规定死的 ,大家自己定义,前提能区分开不同的控件并且能让别人看懂。


3.工具类等

工具类功能简写+Util     : DialogUtil.java   、  TextUtil.java

三. 图片等资源文件命名

背景图片: bg_功能_说明  bg_login_commit

图标图片: icon_功能_说明  icon_tab_set

功能也可以换为 acvitiy名称简写

共用的图片 前面都加 common

四.程序中变量 常量命名

在说这个之前要给大家补充一下  标识符命名。就是变量和常量名字

我一般就用两种:

1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。

   protected TextView mWatchCountInfoTv;

   protected TextView mNicknameTv;

   protected TextView mLocationTv;

   protected TextView mVideoTopicTv;

   protected TextView mVideoTitleTv;

2.下划线命名法:单词与单词间用下划线做间隔。

   private static final int MSG_SHOW_GIFT = 20;

   private static final int MSG_SHOW_EXPRESSION = 21;

   private static final int MSG_SHOW_RED_PACK = 22;

   private static final int MSG_SHOW_JOIN_USER = 23;


1. 静态常量  

  名称都是 功能说明_类别   统一下划线命名法

   private static final int MSG_SHOW_GIFT = 20;

   private static final int MSG_SHOW_EXPRESSION = 21;

   private static final int MSG_SHOW_RED_PACK = 22;

   private static final int MSG_SHOW_JOIN_USER = 23;

2.变量

这个分为两种  全局变量 还是 局部变量

全局变量 以m开头,局部变量不用。

全局变量:

   protected VideoEntity mCurrentVideo;

   protected int mShareType;

   protected MyHandler mHandler;

   protected int mLikeCount;

   protected int mCommentCount;

局部变量:

  TextView tview = new TextView();

  Button button = new Button();


上面已经介绍过 xml中id命名的方法了

所以变量和那个规则基本一致: 功能逻辑名称简写+view 简写

   private ImageView mPhoneVerifyIv;

   private Button mConfirmBtn;

   private EditText mPhoneNumberEt;

   private TextView mSelectCountryNameTv;

   private TextView mSelectCountryCodeTv;

暂时先写这些,后面补上,我写的不是标准规范,大家都可以自己制定一套 适合自己团队用的规范。只要通俗易懂,让别人一眼看上去整个项目不乱就可以。

相关文章
|
6天前
|
设计模式 算法 前端开发
Android面经分享,失业两个月,五一节前拿到Offer,设计思想与代码质量优化+程序性能优化+开发效率优化
Android面经分享,失业两个月,五一节前拿到Offer,设计思想与代码质量优化+程序性能优化+开发效率优化
|
4天前
|
编解码 数据库 Android开发
安卓应用开发:打造高效用户界面的五大技巧
【5月更文挑战第18天】在竞争激烈的应用市场中,一个流畅且直观的用户界面(UI)对于安卓应用的成功至关重要。本文将探讨五种提升安卓应用用户界面性能的技巧,包括合理布局设计、优化资源使用、利用硬件加速、内存管理以及响应式编程。通过这些方法,开发者可以创建出既美观又高效的应用体验,从而吸引和保留用户。
|
6天前
|
XML Android开发 数据格式
ConstraintLayout 2,Android高级开发面试
ConstraintLayout 2,Android高级开发面试
|
3天前
|
搜索推荐 API Android开发
安卓应用开发:打造高效通知管理系统
【5月更文挑战第20天】在移动设备中,通知管理是用户体验的关键部分。一个高效的通知系统不仅能够及时传达重要信息,还能避免用户感到不必要的干扰。本文将深入探讨如何在安卓平台上开发一个高效的通知管理系统,包括通知的设计、发送策略以及用户的个性化设置。通过分析安卓系统的通知机制和最新的API特性,我们将提供一个实用的开发指南,帮助开发者创建更加智能和用户友好的通知体验。
|
6天前
|
JSON Android开发 数据格式
Android框架-Google官方Gson解析,android开发实验报告总结
Android框架-Google官方Gson解析,android开发实验报告总结
|
6天前
|
前端开发 Android开发
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
|
6天前
|
安全 Linux Android开发
Android最强保活黑科技的最强技术实现,2024年最新阿里资深Android开发带你搞懂Framework
Android最强保活黑科技的最强技术实现,2024年最新阿里资深Android开发带你搞懂Framework
Android最强保活黑科技的最强技术实现,2024年最新阿里资深Android开发带你搞懂Framework
|
6天前
|
算法 前端开发 Android开发
Android文字基线Baseline算法的使用讲解,Android开发面试题
Android文字基线Baseline算法的使用讲解,Android开发面试题
Android文字基线Baseline算法的使用讲解,Android开发面试题
|
6天前
|
缓存 Android开发
Android插件化——高手必备的Hook技术,零基础开发android
Android插件化——高手必备的Hook技术,零基础开发android
|
6天前
|
Android开发
Android高级开发面试题以及笞案整理,实战解析
Android高级开发面试题以及笞案整理,实战解析