Доступ к статическим конечным переменным для класса в одном приложении из другого приложения - PullRequest
0 голосов
/ 06 июня 2011

Несмотря на то, что я продолжаю размышлять над техническими последствиями, вызванными «компиляцией», не могу ли я получить доступ к статическим финальным переменным для класса в одном проекте / приложении, из другого проекта / приложения? Один проект находится в пути сборки другого. Компилируется, но выдает ошибку NoClassDefFound во время выполнения.

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

РЕДАКТИРОВАТЬ: После рассмотрения я отказываюсь от этой идеи, поскольку в ней было несколько логических ошибок. Кажется, я действительно хочу, чтобы первое приложение предлагало какую-то функцию второму. То есть так что второе приложение может отправить первым некоторые данные и получить результат обратно. Функциональность имеет небольшую ценность, связанную с доменом, скорее техническую, поэтому я бы хотел самое короткое простейшее решение.

1 Ответ

3 голосов
/ 06 июня 2011

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

Если вам нужно обмениваться данными между приложениями для обмена данными, посмотрите на ContentProvider

ОтДокументы:

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

РЕДАКТИРОВАТЬ:

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

Для этого тоже есть решение. Intents

...