Реализация загружаемого кода и плагинов контента для Android

1

Я новичок в разработке плагинов на Java и Android, поэтому я хотел задать этот основной вопрос.

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

И основные требования для плагина:

  • он содержит код, реализуя некоторый общий интерфейс
  • содержит ресурсы (например, чертежи)

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

Как мне это сделать? Любые указатели на поисковые термины и подсказки Google оцениваются, спасибо:)

  • 0
    Попробуйте прочитать о PathClassLoader, DexClassLoader и тому подобное. Я не уверен, что вы сможете их использовать, но эти маленькие классы помогли мне с легкостью написать объектный картограф. Возможно, вам также придется использовать аннотацию (@MyClassOrWhothing), чтобы пометить классы как плагины.
  • 0
    Спасибо, я посмотрю!
Теги:
plugins

1 ответ

0

Я не думаю, что вы можете сделать это на Android, из-за ограничений безопасности. Весьма вероятно, что ваш единственный вариант - распространять плагины как отдельное приложение на рынке (например, браузер Doplhin).

Однако проблема должна быть решена: как вы собираетесь открывать эти плагины? Чтобы ответить на это, нам нужно знать, как вы собираетесь использовать эти плагины. Если должно быть легко, если ваши плагины являются простыми старыми действиями.

Я нашел этот пост для вас: http://mylifewithandroid.blogspot.com/2010/06/plugins.html

  • 0
    О, это был бы вариант иметь отдельное приложение для плагинов. Спасибо за ссылку! Это говорит о предоставлении плагинов в качестве Сервисов. Интересно, было бы хорошо, если бы мои плагины содержали некоторый код для рисования. Т.е. возможно ли загрузить класс плагина из Service, а затем использовать этот класс для рисования содержимого, например, SurfaceView ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню