Android-активность, которая может получать пользовательскую логику от плагинов во время выполнения - PullRequest
1 голос
/ 14 июля 2011

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

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

Возможно ли это, или есть лучший способ?

1 Ответ

1 голос
/ 15 июля 2011

Если вы делаете это для статических изображений (захват изображения, выбор преобразования / фильтра, отображение результата), то вы можете сделать это с любым из существующих механизмов IPC (AIDL, сетевые потоки и т. Д.).

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

Обновление : вот некоторые подробности о том, как заставить DexClassLoader работать: http://android -developers.blogspot.com / 2011/07 / custom-class-loading-in-dalvik.html

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