Android – 包名称约定

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

有没有任何指导/标准来命名这个包? (参考将是很好的)

Android遵循普通的Java包约定,这里是一个重要的文本阅读片段(这对于在android上开发时广泛使用xml文件是很重要的)。

把它倒过来的原因是与存储介质上的布局有关。 如果将应用程序名称中的每个句点('。')都视为path分隔符,则来自发布者的所有应用程序都将一起放在path层次结构中。 所以,例如,来自Adobe的软件包的forms是:

com.adobe.reader(Adobe Reader)

com.adobe.photoshop(Adobe Photoshop)

com.adobe.ideas(Adobe Ideas)

[请注意,这仅仅是一个例子,这可能不是确切的软件包名称。]

这些可以在内部映射(分别)到:

COM /土坯/读者

COM /土坯/ Photoshop中

COM /土坯/想法

这个概念来自于Java中的Package命名惯例,更多的可以在这里阅读:*

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

例如:

com.android.Camera

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

公司使用反向的互联网域名来开始他们的软件包名称,例如,由example.com的程序员创build的名为mypackage的软件包的com.example.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

通常情况下,前两个包的“字”是您的url反向。 (如果你有一个子域名的话,你会在这里按照惯例。

所以stackoverflow产生的东西可能会在包com.stackoverflow.whatever.customname

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

从mysubdomain.toplevel.com的东西将是com.toplevel.mysubdomain.whatever

除了这个简单的约定之外,天空就是极限。 这是一个旧的Linux约定,我不记得确切的东西…

 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-devison, group, or project name Final level = product name 

比如他的android启动器(主屏幕)是Com.Google.android.launcher

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

 me.app_name.app