对于android.com中的“Hello World”示例,包名称为
"package com.example.helloandroid;"
是否有任何指南/标准来命名此包裹? (引用会很好)
答案 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