我熟悉C ++但从未使用过Java。我刚开始学习Android开发。在大多数基本教程中,我都提到过像org.example.hello这样的软件包名称。我知道它们是某种独特的标识符,但
感谢。
答案 0 :(得分:6)
Java中的包与C ++中的命名空间具有相同的用途。有关一些指导,请参阅Java tutorial。
最重要的是要记住,你的完全限定的类名(包+类)不应该与其他任何人相同。如果你创建一个类似乎会提供一组非常常见的函数,例如FileUtils
,那么你希望它在一个唯一的包中,所以它的名字不会与其他人的类相冲突。一样的名字。一般准则是使用您的反向域名,因此您会看到org.example.hello
等包。
答案 1 :(得分:3)
除了一些主要约定外,包命名在很大程度上是无关紧要的。例如。 Java API主要位于java.
之下。真正的目的是避免与其他代码冲突。
主要影响包命名具有可见性。例如,受保护的成员可用于相同的包(和子类),但不能用于其他包中的代码。
例如,在我的手机上,代码似乎主要位于com
:
com.areacode.drop7
com.google.android.apps.
com.meebo.
但有些是org
(主要是开源资料):
org.connectbot
org.npr.android.news
关于维基百科的一些讨论:
http://en.wikipedia.org/wiki/Java_package#Package_naming_conventions
只要您的公司名称(和应用名称)在包名称中,您就可以了。
Eclipse提供了将多个项目链接为库的规定。如果您在构建过程中使用ant,则可以在其中包含ant。我不知道“库”(J2SE中的JAR文件)的真实概念。实际的JAR文件(为J2SE编译)需要交叉编译为Android格式(DEX)。
答案 2 :(得分:1)
使用Android文件浏览器ASTRO可以查看手机上的应用程序包含的名称。
com.CompanyName.ProgramName似乎是标准。