Android SDK - другие способы? - PullRequest
       17

Android SDK - другие способы?

0 голосов
/ 27 апреля 2010

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

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

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

Спасибо George

1 Ответ

1 голос
/ 27 апреля 2010

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

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

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

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

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

...