Android - Соглашение об имени пакета - PullRequest
187 голосов
/ 08 июня 2011

Для примера "Hello World" в android.com имя пакета:
"package com.example.helloandroid;"

Есть ли какие-либо рекомендации / стандарты дляназвать этот пакет?(ссылки бы неплохо)

Ответы [ 6 ]

207 голосов
/ 08 июня 2011

Android следует обычным соглашениям о пакете Java, плюс здесь есть важный фрагмент текста для чтения (это важно в отношении широкого использования XML-файлов при разработке на Android).

Причина, по которой он установлен в обратном порядке, связана с макетом на носителе. Если вы рассматриваете каждый период ('.') В имени приложения как разделитель пути, все приложения от издателя будут находиться вместе в иерархии путей. Так, например, пакеты от Adobe будут иметь вид:

com.adobe.reader (Adobe Reader)

com.adobe.photoshop (Adobe Photoshop)

com.adobe.ideas (Adobe Ideas)

[Обратите внимание, что это просто иллюстрация, и это могут быть не точные названия пакетов.]

Они могут быть сопоставлены (соответственно) с:

ком / саман / читатель

ком / саман / Photoshop

ком / саман / идеи

Концепция основана на соглашениях об именах пакетов в 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

59 голосов
/ 08 июня 2011

Имя пакета используется для уникальной идентификации вашего приложения.
Android использует имя пакета, чтобы определить, установлено приложение или нет.
Общее название:

com.companyname.applicationname

например:

com.android.Camera

33 голосов
/ 20 сентября 2012

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 голосов
/ 24 октября 2013
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

2 голосов
/ 08 июня 2011

Как правило, первые 2 пакета «слова» - это ваш обратный веб-адрес.(Если бы у вас был поддомен, у вас было бы 3 здесь.)

Таким образом, что-то, что производит stackoverflow, скорее всего, будет в пакете com.stackoverflow.whwhat.customname

, что-то, что производит asp.netможно было бы назвать net.asp.whwhat.customname.omg.srsly

что-то из mysubdomain.toplevel.com было бы com.toplevel.mysubdomain.wh независимо

Помимо этого простого соглашения, небо этопредел.Это старая Linux-конвенция для чего-то, что я точно не могу вспомнить ...

0 голосов
/ 10 апреля 2014

Но если ваше Android-приложение предназначено только для личных целей или создано только вами, вы можете использовать:

me.app_name.app
...