2015-10-06 2 views
0

Я недавно переехал с фона iOS на Android. Моя учетная запись следующая.Каков идеальный способ обмена функциональностью между приложениями в Android?

Я хочу создать набор приложений. Каждое приложение должно выполнять вызовы сервера или выполнять операции с базой данных. Я не хочу писать код в каждом приложении, чтобы выполнить эти операции.

Итак, я хочу, чтобы построить рамки моей собственной, которая имеет API, подверженным сделать работу сервера и БД. Теперь я могу просто импортировать эту инфраструктуру в свои приложения и выполнять операции с сервером/БД.

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

+0

Также проверьте @CommonsWare anser. Это будет hep –

ответ

2

Как нечто подобное будет достигнуто в Android?

Создание и использование a library module.

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

Услуги могут быть экспортированы из одного приложения и использоваться другими приложениями.

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

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

+0

Спасибо! Я продолжу библиотечные модули. Похоже на то, что я хотел. Проще и проще в обслуживании. – shshnk

1

Вы ошибаетесь Services, у меня есть сценарий, где я общаюсь с одной веб-сервере в каждом приложении.

Так что вместо того, чтобы писать то же самое service в каждом приложении, я написал одно автономное сервисное приложение, которое ожидает, что мое приложение будет отправлять сообщение Broadcast (зависит от сценария). Я выставил свою базу данных на service по телефону ContentProvider. Так что мои service знают мои данные приложения. Я достиг этого успешно. Также вы можете использовать библиотечный модуль. Вы можете узнать больше из этого link

Надежда это дает некоторое представление.

+0

спасибо! это тоже вариант для меня. Насколько хорошо он справляется с одновременным вызовом одной задачи из разных приложений? Я полагаю, что у модуля библиотеки есть преимущество. – shshnk

+0

Чтобы справиться с этим конфликтом, я использовал 'IntentService' –

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