Мое главное приложение Android будет состоять в основной программе с несколькими предварительно установленными модулями.
Затем я хочу предложить различные модули позже, лучше всего был бы как отдельные файлы. Модули как: местоположение, погода, программа.
Как Вы выполнили бы это?
Я хочу сохранить в базе данных модули, которые установлены/представлены. Таким образом, я должен иногда помещать модули в базу данных, возможно, путем обнаружения, если там присутствуют во время запуска. Главное приложение будет работать на основе этих модулей.
Как я могу создать эти модули как отдельные файлы? Они не будут точкой входа в моем приложении. Таким образом, они не должны быть приложением в навигационном меню.
Действительно ли это возможно?
Как я должен создать это использование Eclipse?
В каком формате я предложу модули?
Как пользователь добавит/удалит модули?
Android позволяет свободно связывать приложения с Intents
и ContentProviders
, поэтому должно быть возможно достичь того, что вы ищете. Сложнее всего будет спланировать все заранее, чтобы у вас было логическое разделение функциональности (и поэтому все легко соединяется).
Я хочу сохранить в базе данных модули, которые установлены / присутствуют. Поэтому я должен иногда помещать модули в базу данных, возможно, обнаруживая их наличие во время запуска. Основное приложение будет работать на основе этих модулей.
Вы можете зарегистрировать BroadcastReceiver
для ACTION_PACKAGE_ADDED
, который будет срабатывать при установке нового приложения. Ваше основное приложение должно иметь возможность использовать это, чтобы определять, когда установлены дополнительные модули.
В каком формате я буду предлагать модули?
Вы, вероятно, захотите по-прежнему упаковать модули как файлы apks, чтобы их можно было загрузить на рынок. Если вы хотите, чтобы они не отображались в панели запуска (панели приложений), вы всегда можете удалить
Как мне создать это с помощью Eclipse?
Ваши модули по-прежнему будут автономными приложениями.
Как пользователь будет добавлять / удалять модули?
С торговой площадки или путем прямой загрузки из Интернета (если хотите).