2010-04-27 4 views
0

Если мне нужно было создать SDK для Android, который другие разработчики могут интегрировать в свои приложения для Android, будет ли мой SDK единственным способом? Насколько я понял, jarring имеет следующие соображения:Android SDK - Другие способы?

  1. Если ваше приложение использует макет, вам необходимо его программно создать. Так как файлы jar не могут переносить любые ресурсы.
  2. баночка будет необходимо поместить в папку в Lib/активы и добавлены в путь сборки (в Eclipse) - ученом здесь: Android - Invoke activity from within jar
  3. Основное приложение будет создать Intent объект и указать пакет и имя класса в банке, чтобы начать работу.

У кого-нибудь есть другие идеи по поводу любого из вышеперечисленных шагов?

Благодаря Джордж

ответ

1

Создание JAR, на мой взгляд, очень плохое решение. Android имеет специфические функции только для того, что вы ищете. Если ваш JAR:

  • предоставляет некие (структурированные) данные, которые будут использоваться в других приложениях, используйте ContentProvider;
  • выполняет некоторую обратную обработку и делает результаты обработки доступными для других приложений, используйте Service;
  • содержит Activity, который получает некоторый ввод от пользователя (или показывает некоторую информацию о чем-то), в конечном итоге обрабатывает его и возвращает его на вызывающий Activity, просто создайте это Activity, и любое приложение сможет запустить ваш Activity до тех пор, пока он установлен на телефоне.

Если вы используете одно из трех решений выше, сторонние приложения смогут проверить, установлено ли ваше приложение и если нет, предложите пользователю его установить. Только если ваша заявка не попадает в один из трех указанных пунктов, если вы используете JAR. В противном случае, используя ContentProvider, Service или Activity обеспечивает:

  • Более стандартизованное взаимодействие между компонентами
  • Лучше ремонтопригодности - если вы обновите SDK вы не должны называть всех, кто использует его, и сказать им, чтобы обновить ,
  • Нет дублирования - если вы должны предоставить JAR, и несколько приложений, которые его используют, будут установлены на устройстве, на этом устройстве будет присутствовать несколько копий JAR, таким образом, используя больше памяти, чем это необходимо. Если вы предоставите один из трех компонентов, упомянутых выше, один экземпляр будет удовлетворять всем приложениям, которые должны его использовать.

Опять же, эти компоненты специально разработаны и предоставлены операционной системой Android для создания таких SDK. Пожалуйста, используйте только JAR, если у вас действительно, действительно необходимо. В противном случае укажите стандартизованные ContentProvider, Service или Activity и укажите способ использования (т. Е. Как использовать/запросить/интегрировать его).

+0

Отлично! Спасибо за разъяснения! – Ron

+0

Ваши аргументы против файлов JAR действительны ... кроме случаев, когда сторонний разработчик хочет включить вашу функциональность в собственное приложение и ни при каких условиях не хочет, чтобы пользователи с другой установкой устанавливали проблемы. –

Смежные вопросы