Android - 包名称约定

时间:2011-06-08 03:27:28

标签: android naming

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

是否有任何指南/标准来命名此包裹? (引用会很好)

6 个答案:

答案 0 :(得分:205)

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

使其按相反顺序排列的原因是与存储介质上的布局有关。如果将应用程序名称中的每个句点('。')视为路径分隔符,则发布者的所有应用程序都将位于路径层次结构中。 因此,例如,Adobe的包将采用以下形式:

com.adobe.reader(Adobe Reader)

com.adobe.photoshop(Adobe Photoshop)

com.adobe.ideas(Adobe Ideas)

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

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

<强> COM /土坯/读取器

<强> COM /土坯/ Photoshop的

<强> COM /土坯/想法

这个概念来自Java中的包命名约定,更多关于哪些可以阅读 这里:*

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

答案 1 :(得分:59)

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

<强> com.companyname.applicationname

例如:

com.android.Camera

答案 2 :(得分:33)

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

  

公司使用他们的反向互联网域名开始他们的   包名称 - 例如,com.example.mypackage用于名为的包   mypackage由example.com的程序员创建。

     

需要处理单个公司内发生的名称冲突   按照公约在该公司内部,也许包括该地区或   公司名称后面的项目名称(例如,   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

答案 3 :(得分:3)

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

答案 4 :(得分:2)

一般来说,前2个包“单词”是您反向的网址。 (如果你有一个子域名,那么你在这里有3个约定。)

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

中 可能会调用asp.net生成的东西 net.asp.whatever.customname.omg.srsly

来自mysubdomain.toplevel.com的东西会是 com.toplevel.mysubdomain.whatever

除了那个简单的约定,天空是极限。这是一个旧的Linux惯例,我无法回想起......

答案 5 :(得分:-3)

但如果您的Android应用仅供个人使用或由您自己创建,则可以使用:

me.app_name.app