Android活动命名是怎样的规则

作者&投稿:除昆 (若有异议请与网页底部的电邮联系)
Android 各版本的命名规则是怎样的~

各个版本的命名规则是按照糖果的名字来命名的,应该是工程师们太调皮了

Android 1.5 Cupcake(纸杯蛋糕)
Android 1.6 Donut(甜甜圈)
Android2.0/2.0.1/2.1 Eclair(松饼)
Android 2.2/2.2.1 Froyo(冻酸奶)
Android 2.3 Gingerbread(姜饼)
Android 3.0/3.1/3.2 Honeycomb(蜂巢)
Android 4.0 Ice Cream Sandwich(冰激凌三明治)
Android 5.0 Jelly Bean(果冻豆)
Android 6.0 Key Lime Pie(柠檬派)

一.标识符命名方法
1 .小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。如:allPrice,getAllNames
2.大驼峰命名法,所有单词的第一个字母大写。如:GuideActivity,StudentInfoBean
3.下划线命名法:单词与单词间用下划线做间隔。如:activity_main,select_backGround_color
二.命名规范
(一)包(packages)的命名规范:
采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名lwz(为个人或公司名称,可以简写),三级包名guidecity(根据应用进行命名),四级包名ui或utils等(模块名或层级名),根据实际情况也是可以用五级包名,六级包名。
这里的四级包名是要重点理解和分类的,例如:com.lwz.应用.utils ,此包中包含:公共工具方法类
1.utils
此包中包含:公共工具方法类,比如:SPHelperUtil、TimeUitl、FileUtil等
2.adapter
此包中包含:一些适配器的类,比如:ArticleAdapter、FansAdapter,HistorAdaper等
3.base
此包中包含:一些共同类的基类,比如:BaseActivity(所有的Activity类都继承这个类)、BaseFragment(所有的Fragment都继承这个类),ListItemAdapter(封装了Base Adapter的基类)等
4.bean
此包中包含:一些属性对象类,比如:StudentBean、LonginBean、ArticleBean等
5.config
此包中包含:最顶级的配置类,比如:MyApp(继承了Application)
6.httpservice
此包中包含:Http数据的请求接口类,好像Retrofit网络框架请求网络数据才要使用。如:ILogin接口,IAddTopic接口,IUpdate等
7.interface
此包中包含:某个页面或对象的所用操作接口类,这个接口主要是定义这个对象的所有方法。如:IUser接口,IArticle接口,ITopic接口等
8.model
这是MVC或MVP框架设计中的M。此包中包含:某个页面或对象的所用操作类,这个类继承了上面定义的interface接口,重写并实现厘米那的方法。如:UserModel,ArticleMode类,TopicMode类等
9.ui
这个ui表示的页面的意思,也是MVC或MVP中的V,很多人把这个包名写成activity,其实是不准确的,因为ui包含了activity和fragment,所以ui是四级包名,而activity和fragment是ui包下的五级包名。
activity此包中包含:Activity对象类。如:MainActivity类,HomeActivity类,FansListActivity类等。如果是使用了MVP框架模式,activity包名下还可以有六级包名,比如:loginMVP(包含ILoginView接口类,LoginPresenter类)、seleteTopicMVP
fragment此包中包含:Fragment对象类。但是Fragment一般都是多个存在的,所以fragment包下一般还有六级包名,表示里面是哪个页面的Fragment对象。
10.weight
此包中包含:自定义View或自定义对话框等视图类。如:CursroDialog类,SpringScrollView类,ScrollListView类等
11.db
此包中包含:数据库操作类
12.service
此包中包含:Service服务类
13.broadcast
此包中包含:Broadcast广播接收者类
14.provider
此包中包含:Provider内容提供者类(用得很少)
包名规划我感觉对程序后期阅读或修改有很大的帮助,特别是很大的程序,文件太多,不规划的话自己都不知道这个类是干什么的!
当然如果程序中没有这一类的文件,这个包名是可以不写,但是一些基本的包名,基本每个程序都是需要的比如:ui、utils、adapter、weight、bean等
(二)类(classes)的命名规范:
一般用名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的,比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。
以下是部分示例说明:
1.activity 类,如欢迎页面类WelcomeActivity.
2.adapter类,如商品详情适配器ProductDetailAdapter
3.util公共方法类,如:线程池管理类:ThreadPoolManager,日志工具类:LogUtil
4.db数据库类,以DBHelper后缀标识。如城市数据库:CityDBHelper
5.Service类,以Service为后缀标识
6.BroadcastReceive,以Broadcast为后缀标识
7.ContentProvider,以Provider为后缀标识
(三)接口(interface):
命名规则与类一样采用大驼峰命名法,多以able或ible结尾或以I开头,如Runnable、Accessible、IUser。
(四)方法(methods)的命名规则:
一般使用动词或动名词,采用小驼峰命名法 例如:onCreate(),run()
>1.initXXX()初始化相关方法,使用init为前缀标识
2.isXXX()、checkXXX() 方法返回值为boolean型的请使用is或check为前缀标识
3.getXXX()返回某个值的方法,使用get为前缀标识
4.processXXX() 对数据进行处理的方法,尽量使用process为前缀标识
5.displayXXX() 弹出提示框和提示信息,使用display为前缀标识
6.saveXXX() 与保存数据相关的,使用sav为e前缀标识
7.resetXXX() 对数据重组的,使用reset前缀标识
8.clearXXX()removeXXX() 清除数据相关的,使用clear或remove为前缀标识
9.drawXXX() 绘制数据或效果相关的,使用draw前缀标识

(五)变量(variables)采用小驼峰命名法。类中控件名称一般与xml布局id保持一致
(六)常量(constants)全部大写,采用下划线命名法.例如:MIN_WIDTH
(七)XML文件(布局文件):全部小写,采用下划线命名法,
例如:main_activity.xml, item_activity.xml、homeposter_item_poster.xml
(八)资源文件(图片): 全部小写,采用下划线命名法,加前缀区分

命名
说明

btn_login_normal 按钮图片使用btn_功能_说明
bg_head 背景图片使用bg_功能_说明
def_search_cell 默认图片使用def_功能_说明
icon_more_help 图标图片使用icon_功能_说明
seg_list_line 具有分隔特征的图片使用seg_功能_说明
sel_ok 选择图标使用sel_功能_说明
(九)动画文件(anim包):全部小写,采用下划线命名法,加前缀区分。
动画命名例子:

规范写法
备注

click_head_left 点击背景切换动画使用click前缀标识
bg_shape_rectangle 背景自定义图形使用bg前缀标识
show_shopcar_add 小动画效果使用show前缀标识
(十)资源ID(resources id):大小写规范与方法名一致,采用小驼峰命名法。
命名规范为“资源控件的缩写名”+“变量名”。例如TextView的id=“tv_userName”。注意:页面控件名称应该和控件id名一般是一致,例如:TextView tv_userName=(TextView)findViewById(R.id.tv_userName);
三.图解包名规范示例
本文主要是想对程序包名的命名规划,这里展示我之前开发的程序的包名图片,供大家参考:
(一)总显示

上面example这个包名一般是不用的!
(二)ui包下
fragment展示

activity 展示:

(三)utils和weight包下

(四)res文件夹下的部分文件展示:

drawable包下:

layout包下:

上面就是一个完成程序的主要文件展示,这个程序大概有三百多个文件(包括java文件和资源文件),这里就不一一展示了!
大家可以想象一下,如果这个程序包名和文件名都没有很好规划,那么你要找你想要的几个文件是一个多么麻烦的事情!
一般地,我在创建每个java程序文件都会在上面做几句话的注解,说明一下这个文件的作用,有些布局文件也是有简单说明。这样更加有利于后期的程序代码迭代或版本更新!
命名规范是必须的吗?有些是!有些不是。比如包名、类的定义,系统没有硬性规定,但是资源文件res文件夹下的命名,系统要求资源文件名必须小写,否则,你的程序一直运行不了,你都不知道为啥。
最后说一句:程序开发中命名规范是一个很好的开发习惯!

一般与类名的命名规则一样


生命周期的代表产品
从而,系统随时都会销毁这个进程,收回内存,并中止其中还在运行的子线程。问题的解决办法就是,在Intent Receiver中,启动一个Service,这样系统就会知道在这个进程中,还有活动的工作正在执行。为了决定在内存不足情况下销毁哪个进程,Android会根据这些进程内运行的组件及这些组件的状态,把这些进程划分出一个...

什么是Activity,详细介绍Activity
活动状态,当Activity处于Stack(栈)顶时,就是手机当前的现实屏幕,这是 Activity就 处于activity或者运行状态。运行但是失去焦点,当Activity还处于运行状态时,但是屏幕是有另外一个Activity 处于文档处于焦点状态,当前的Activity就处于pause。停止,当Activity被另一个Activity完全覆盖的时候,就被停止了,...

什么是android系统,android的发展以及android的平台架构和特性_百度知 ...
5)一个活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。3. Android程序库 Android包括一个被Android系统中各种不同组件所使用的C\/C++集库。该库通过Android应用程序框架为开发者提供服务。以下是一些主要的核心库:1)系统C库:一个从BSD继承来的标准C系统函数库(...

android 是否可以同时有两个activity处于活动状态?
不能,android的机制只能保持一个activity处于活动状态

android13是什么版本
二、系统改进 在性能上,Android 13对系统的运行速度和处理能力进行了优化,使得应用程序的启动速度更快,系统的响应更迅速。此外,Android 13还改进了电池寿命,通过优化背景应用程序的活动和减少不必要的资源占用,延长了设备的电池续航时间。三、用户体验提升 在用户体验方面,Android 13对界面进行了细微的...

apk是什么意思?
对大多数应用而言,默认设置即可开始工作,但对游戏而言,可能需要调整单态实例的信号为打开。在默认情况下,Android会新建一个活动实例进程,因为它认为这是比较合适的,而游戏,可能只希望有一个活动的实例进程,这会有影响,它需要了解一些系统状态的管理。以上内容参考:百度百科-apk ...

52.Android 全面理解AccessibilityService
Android中,AccessibilityService是Google为提升系统实用性和用户友好性而设计的辅助服务。它在后台运行,通过接收系统发送的AccessibilityEvent事件,监控界面动态变化,如焦点移动、输入内容更新、按钮点击等。通过这些事件,服务能够请求获取当前活动窗口并搜索其中的内容,就像一个实时监控界面变化的监视器。要使用...

startactivity什么意思
startactivity是Android开发中启动一个新的活动的意思。在Android开发中,Activity是应用程序的用户界面组件,用于展示数据和交互。当一个Activity需要向另一个Activity进行跳转时,就需要使用startActivity方法来实现。以下是关于该方法的 详细解释:1. 基本定义:在Android应用中,用户与应用程序的交互通常是通过...

android启动后怎么查看其里面的进程和线程
因为用户界面必须很快地响应用户的操作,所以活动寄宿的线程不应该做一些耗时的操作如网络下载。任何不可能在短时间完成的操作应该分配到别的线程。线程在代码中是用标准的Java线程对象创建的,Android提供了一些方便的类来管理线程——Looper用于在线程中运行消息循环、Handler用户处理消息、HandlerThread用户设置一个消息循环...

android 如何关闭另一个package中的activity?
Android下结束进程的方法一、结束一个活动Activity要主动的结束一个活动Activity,使用finish方法,而且这个方法最后会调用Activity的生命周期函数onDestroy方法,结束当前的Activity,从任务栈中弹出当前的Activity,激活下一个Activity。当然其他的finish系列方法,我们不在这里做详细讨论,有兴趣的同学可以自己查阅...

图木舒克市18216629738: 大家的Android项目包命名规则是怎样的? -
致陆爽妙: Android项目包命名时,首先要保证它在安卓系统中的唯一性.所以许多人在对Android项目包进行命名时,多用网站域名的逆序+app名,即“顶级域名.二级域名.app名”.如:“com.公司名称.app名”.当然,包名并不仅限于三级,在实际使用中,如果有需要的话,还可以分出界面、实体、工具包、服务、适配器等包.

图木舒克市18216629738: android项目包如何命名 -
致陆爽妙: android项目的包名,一般通用的规则是以com开头,后面加上公司简称,然后最后加上项目的简称,这样能够一目了然

图木舒克市18216629738: android资源文件的命名规则是以什么开头 -
致陆爽妙: --图片资源文件命名规则-- 按钮 :btn_名称_ _normal (default state) _pressed state_pressed _focused state_focused _disabled state_enabled (false) _checked state_checked _selected state_selected _hovered state_hovered _checkable state_...

图木舒克市18216629738: Android 各版本的命名规则是怎样的 -
致陆爽妙: 各个版本的命名规则是按照糖果的名字来命名的,应该是工程师们太调皮了

图木舒克市18216629738: Android 各版本是怎么命名的 -
致陆爽妙: android的各个版本是根据糖果的名称来命名的,这些都是工程师的突发奇想想到的

图木舒克市18216629738: android 国际版包名怎么命名 -
致陆爽妙: 一Java包命名规范1)包(packages): 采用反写域名命名规则,即com.xx.xxx.xxxx形式 全部使用小写字母.一级包名为com,二级包名为xx(一般为公司或个人域名),三级包名根据应用进行命名,四级包名为功能模块名.如:com.tencent.qq.activitys,这样具备较高可读性,一看就知道是腾讯公司QQ软件中存放activity的包.

图木舒克市18216629738: eclipse新建的安卓项目的名称的命名是大写还是小写有什么规则吗? -
致陆爽妙: 新建的安卓项目名称国际通用的是使用骆驼命名法,就是单词的首字母大写,如:TestAndroid.但如果用小写是不会报错的.公司的系统为了规范程序员命名变量的方式,总会提前制定好命名变量、类名、工程名的规则,程序员应该按照规则来编写代码,后期更易维护.

图木舒克市18216629738: Android OS 4.0 和Android OS 2.2是什么意思,哪个系统好 -
致陆爽妙: Android系统本身也在不断的升级.2.2 是froyo,现在新出的机子基本都是2.3 GB 的或4.0的了,2.2的很少了.4.0是 ICS,是目前最新的版本,不过机子相对还比较少.

图木舒克市18216629738: 为什么android的package name的名字一般以com.开头 -
致陆爽妙: Android package name 的命名规则沿袭自 Java 的 package 命名规则,SUN 对此有文档规定,可以认为这只是一个约定俗称的规则而已.

图木舒克市18216629738: 安卓是那个地方出的 -
致陆爽妙: Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L'ève future)中.他将外表像人的机器(机器人)起名为Android. Android的Logo是由Ascender公司设计的.其中的文字使...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网