对于android.com中的“Hello World”示例,包名为 ”包com.example.helloandroid;“

有什么指导方针/标准来命名这个包吗?(推荐信最好)


一般来说,前两个“单词”是你的网页地址的反向。(如果你有子域,这里应该是3)

因此,stackoverflow生成的东西可能在包com.stackoverflow.whatever.customname中

asp.net生成的一些东西可能被称为 net.asp.whatever.customname.omg.srsly

来自mysubdomain.toplevel.com的内容 com.toplevel.mysubdomain.whatever

在这个简单的惯例之外,前途无量。这是一个旧的linux惯例,我记不清了…


Android遵循正常的java包约定,这里有一个重要的文本片段需要阅读(这对于在Android上开发时广泛使用xml文件很重要)。

颠倒顺序的原因与存储介质上的布局有关。如果将应用程序名称中的每个句点('.')视为路径分隔符,那么来自发布者的所有应用程序都将位于路径层次结构中。 因此,例如,来自Adobe的包应该是这样的:

com.adobe.reader (adobereader)

com.adobe.photoshop (adobephotoshop)

com.adobe.ideas (adobeideas)

[注意,这只是一个例子,这些可能不是确切的包名。]

这些可以在内部分别映射为:

com/adobe/reader

com/adobe/photoshop

com/adobe/ideas

这个概念来自Java中的包命名约定(Package Naming Conventions),可以阅读更多相关内容 在这里:*

http://en.wikipedia.org/wiki/Java_package#Package_naming_conventions

来源:http://www.quora.com/Why-do-a-majority-of-Android-package-names-begin-with-com


包名用于应用程序的唯一标识。 Android使用包名来确定应用程序是否已经安装。 一般命名为:

com.companyname.applicationname

eg:

com.android.Camera


http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html

公司使用颠倒的互联网域名来开始他们的业务 包名称—例如,包名为 由一个程序员在example.com创建的Mypackage。 在一家公司内发生的名称冲突需要处理 根据公司内部的惯例,可能包括地区或 在公司名称之后的项目名称(例如, com.example.region.mypackage)。

如果你有一个公司域名www.example.com

那么你应该使用:

com.example.region.projectname

如果你的域名是example.co.uk,那么它应该是:

uk.co.example.region.projectname

如果你没有域名,你应该使用你的电子邮件地址:

对于name@example.com,它应该是:

com.example.name.region.projectname


com = commercial application (just like .com, most people register their app as a com app)
First level = always the publishing entity's' name
Second level (optional) = sub-division, group, or project name
Final level = product name

例如,android启动器(主屏幕)是 com.google.android.launcher


但如果您的Android应用程序仅用于个人用途或由您独自创建,您可以使用:

me.app_name.app

来自Kotlin Android风格指南:

包名都是小写的,简单地用连续的单词表示 连接在一起(没有下划线)。

https://developer.android.com/kotlin/style-guide#package_names