Совместное использование элементов между приложениями Android, вопрос передового опыта - PullRequest
2 голосов
/ 10 июня 2010

Вот цитата из Android Guide Dev:

Центральной особенностью Android является то, что одно приложение может использовать элементы других приложений (при условии, что эти приложения позволяют Это). Например, если ваше приложение необходимо отобразить список прокрутки изображения и другое приложение имеет разработал подходящий скроллер и сделал это доступно другим, вы можете позвонить на этом скроллере, чтобы сделать работу, а не развивать свой собственный.

Разве это не плохая практика - делать приложение зависимым от других приложений?

Ответы [ 2 ]

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

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

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

Вы должны быть осторожны, если зависите от других приложений. Разработайте четкую стратегию действий, если приложение, от которого вы зависите, недоступно, и хороший пример того, как направить пользователя в процессе установки другого приложения. Используйте только те приложения, которые имеют хорошую репутацию и вряд ли будут менять API, не сообщая об этом должным образом, а также отслеживайте изменения в приложении, от которого вы зависите.

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

  • Интеграция с клиентом Twitter (пользователю не нужно предоставлять учетные данные Twitter для каждого приложения)
  • Интеграция с картами (полное преимущество приложения могучих карт, а не только отображение карты внутри приложения)
  • упомянутый сканер штрих-кода
  • Отправка писем в почтовое приложение по выбору пользователя
  • ...

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

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

Определенно это так.

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

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