Как добиться модульности структуры подкомпонентов приложения на Android? - PullRequest
6 голосов
/ 09 февраля 2010

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

Как бы вы этого достигли?

Я хочу сохранить в базе данных модули, которые установлены / присутствуют. Поэтому я должен иногда помещать модули в базу данных, возможно, обнаруживая, присутствуют ли они во время запуска. Основное приложение будет работать на основе этих модулей.

Как я могу собрать эти модули как отдельные файлы? Они не будут отправной точкой в ​​моем приложении. Поэтому они не должны быть приложением в меню навигации.

Возможно ли это?
Как мне создать это с помощью Eclipse?
В каком формате я буду предлагать модули?
Как пользователь будет добавлять / удалять модули?

1 Ответ

5 голосов
/ 10 февраля 2010

Android позволяет свободно объединять приложения вместе с Intents и ContentProviders, так что должна быть возможность достичь того, что вы ищете. Сложная часть будет планировать все заранее, поэтому у вас есть логическое разделение функций (и все будет легко объединяться).

Я хочу сохранить в базе данных модули, которые установлены / присутствуют. Поэтому я должен иногда помещать модули в базу данных, возможно, обнаруживая, присутствуют ли они во время запуска. Основное приложение будет работать на основе этих модулей.

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

В каком формате я буду предлагать модули?

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

Как мне создать это с помощью Eclipse?

Ваши модули по-прежнему будут автономными приложениями.

Как пользователь будет добавлять / удалять модули?

С торговой площадки или прямых загрузок из Интернета (если хотите).

...