【软件开发规范六】《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;

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

相关文章
|
1天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
3天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
5天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
【10月更文挑战第35天】在数字化时代,安卓应用的开发成为了一个热门话题。本文旨在通过浅显易懂的语言,带领初学者了解安卓开发的基础知识,同时为有一定经验的开发者提供进阶技巧。我们将一起探讨如何从零开始构建第一个安卓应用,并逐步深入到性能优化和高级功能的实现。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你提供有价值的指导和灵感。
|
3天前
|
存储 API 开发工具
探索安卓开发:从基础到进阶
【10月更文挑战第37天】在这篇文章中,我们将一起探索安卓开发的奥秘。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和建议。我们将从安卓开发的基础开始,逐步深入到更复杂的主题,如自定义组件、性能优化等。最后,我们将通过一个代码示例来展示如何实现一个简单的安卓应用。让我们一起开始吧!
|
4天前
|
存储 XML JSON
探索安卓开发:从新手到专家的旅程
【10月更文挑战第36天】在这篇文章中,我们将一起踏上一段激动人心的旅程,从零基础开始,逐步深入安卓开发的奥秘。无论你是编程新手,还是希望扩展技能的老手,这里都有适合你的知识宝藏等待发掘。通过实际的代码示例和深入浅出的解释,我们将解锁安卓开发的关键技能,让你能够构建自己的应用程序,甚至贡献于开源社区。准备好了吗?让我们开始吧!
15 2
|
5天前
|
Android开发
布谷语音软件开发:android端语音软件搭建开发教程
语音软件搭建android端语音软件开发教程!
|
12天前
|
Android开发 开发者 UED
安卓开发中自定义View的实现与性能优化
【10月更文挑战第28天】在安卓开发领域,自定义View是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何高效地创建和管理自定义View,以及如何通过代码和性能调优来确保流畅的交互体验。我们将一起学习自定义View的生命周期、绘图基础和事件处理,进而探索内存和布局优化技巧,最终实现既美观又高效的安卓界面。
24 5
|
10天前
|
JSON Java Android开发
探索安卓开发之旅:打造你的第一个天气应用
【10月更文挑战第30天】在这个数字时代,掌握移动应用开发技能无疑是进入IT行业的敲门砖。本文将引导你开启安卓开发的奇妙之旅,通过构建一个简易的天气应用来实践你的编程技能。无论你是初学者还是有一定经验的开发者,这篇文章都将成为你宝贵的学习资源。我们将一步步地深入到安卓开发的世界中,从搭建开发环境到实现核心功能,每个环节都充满了发现和创造的乐趣。让我们开始吧,一起在代码的海洋中航行!
|
11天前
|
缓存 数据库 Android开发
安卓开发中的性能优化技巧
【10月更文挑战第29天】在移动应用的海洋中,性能是船只能否破浪前行的关键。本文将深入探讨安卓开发中的性能优化策略,从代码层面到系统层面,揭示如何让应用运行得更快、更流畅。我们将以实际案例和最佳实践为灯塔,引领开发者避开性能瓶颈的暗礁。
29 3
|
8天前
|
移动开发 Java Android开发
探索Android与iOS开发的差异性与互联性
【10月更文挑战第32天】在移动开发的大潮中,Android和iOS两大平台各领风骚。本文将深入浅出地探讨这两个平台的开发差异,并通过实际代码示例,展示如何在各自平台上实现相似的功能。我们将从开发环境、编程语言、用户界面设计、性能优化等多个角度进行对比分析,旨在为开发者提供跨平台开发的实用指南。
29 0