что в имени (пакета) org.example.hello? - PullRequest
0 голосов
/ 28 июня 2010

Я знаком с C ++, но никогда не использовал Java. Я только начал изучать разработку Android. В большинстве основных руководств я прошел через упомянутые имена пакетов, такие как org.example.hello. Я знаю, что это какие-то уникальные идентификаторы, но

  1. Как выбрать названия этих пакетов? Есть ли какие-либо рекомендации?
  2. Есть ли что-то особенное, что мне нужно иметь в виду при разработке коммерческого приложения?
  3. Как создать отдельные повторно используемые библиотеки и упаковать их в разные пакеты / приложения?

спасибо.

Ответы [ 3 ]

6 голосов
/ 28 июня 2010

Пакеты в Java служат той же цели, что и пространства имен в C ++. См. Java-учебник для некоторых рекомендаций.

Самое важное, что нужно иметь в виду, это то, что ваши полностью определенные имена классов (пакет + класс) не должны совпадать с именами других пользователей. Если вы создаете класс, который выглядит так, как будто он предоставляет действительно общий набор функций, например FileUtils, то вы хотите, чтобы он был в уникальном пакете, чтобы его имя не конфликтовало с чьим-либо еще классом с таким же именем , Общее правило - использовать ваше обратное доменное имя, поэтому вы увидите пакеты типа org.example.hello.

3 голосов
/ 28 июня 2010

Наименование пакетов в значительной степени не имеет значения, за исключением некоторых основных соглашений.Например.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 для процесса сборки, вы можете включить его там.Я не знаю реальной концепции «библиотеки» (JAR-файл в J2SE).Фактические файлы JAR (скомпилированные для J2SE) должны быть кросс-скомпилированы в формат Android (DEX).

1 голос
/ 28 июня 2010

Используя браузер файлов Android, ASTRO позволяет узнать, какие имена пакетов есть в приложении на вашем телефоне.

com.CompanyName.ProgramName представляется стандартом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...