全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

什么是安卓app包名,app包名的命名规范是什么?

发布时间:2023-10-11 18:45:24
发布人:xqq

一、什么叫安卓包名

比如“手机QQ”,包名就是com.tencent.mobileqq
软件安装完后,在/data/app(不是/system/data/app)目录下的就是软件的包名,后面-1,-2,就是你名列前茅次安装或者更新安装的意思。

二、APP如何命名,需要符合怎样的命名规范

在Java中我们通常把具备相同或相似功能的一些类放在同一个包中,当然 不同公司会有不同的命名方式,但大体都相同,一个好的命名应见名知义,提高代码可读性,以利于后期代码的修改与维护。下面基于我自己做项目中的一些感触谈谈自己对包命名规范的理解。

1、Java包命名规范

1)包(packages): 采用反写域名命名规则,即com.xx.xxx.xxxx形式

全部使用小写字母。一级包名为com,二级包名为xx(一般为公司或个人域名),三级包名根据应用进行命名,四级包名为功能模块名。如:com.tencent.qq.activitys,这样具备较高可读性,一看就知道是腾讯公司QQ软件中存放activity的包。

下面是一些常见的包命名组织方式。

com.example.app.activitys用来组织Activity类
com.example.app.base基础共享的类,如多个Activity共享的
BaseActivity或整个应用共享的MyApplication类
com.example.app.adapter项目中用到的适配器类
com.example.app.view自定义的View,如常用的TitleBarView
com.example.app.util工具类,如HttpUtil,ImageUtil,FileUtil
com.example.app.db数据库类,如DataBaseHelper,MessageDB
com.example.app.service服务类,如GetMsgService
com.example.app.constant常量类
com.example.app.domain/modle/entity元素实体类,如对应注册用户信息的User类,
对应聊天信息的TextMessage类
com.example.app.broadcast广播服务类

2)资源布局文件(XML文件(layout布局文件)):全部小写,采用下划线命名,我一般按照组件名_功能名_属性名方式

如:activity_login,fragment_constact_child.这样当你在Activity的onCreate中使用R.layout.的时候就只需筛选activity开头的xml文件,在Fragment的onCreateView中使用R.layout.的时候就只需筛选fragment开头的xml文件,这样就可以缩小聚焦范围,而且这样的命名具备较高的可读性,很容易知道fragment_constact_child表示某个ConstactFragment类中的child视图。

3)控件:全部小写,采用下划线命名,我一般按照布局文件名_控件名_功能名_属性名方式(前面的布局文件名可选可不选,选的话具备较高的可读性)

如:fragment_constact_child_img_avatar表示fragment_constact_child布局文件中的用户头像的ImageView。

延伸阅读:

三、如何避免包名冲突

因为包名是少数标识,为了避免与其他应用的包名重复,产生冲突,您可以这样命名:

将您的域名反转过来作为前缀,比如如果您的域名是http://zan.com,那么包名可以用com.zan开头,这样可以有效的避免重复

在后面增加描述产品名称的字符,比如果果您的应用是视频应用,可以命名为com.zan.video

如果您没有域名,可以使用自己的邮箱作为前缀,比如 com.163.WoDeYouXiang

#it技术干货

相关文章

如何创建一个Ajax?

如何创建一个Ajax?

2023-10-11
为什么要用Lambda表达式?

为什么要用Lambda表达式?

2023-10-11
什么是URL?

什么是URL?

2023-10-11
Token与Session究竟是什么?

Token与Session究竟是什么?

2023-10-11

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取