Существуют ли совместимые с Android альтернативы Property Utils?

Есть ли удобный Android-денди, эквивалентный org.apache.commons.beanutils.PropertyUtils на Android?

Я не могу использовать bean utils в своем приложении для Android из-за некоторых зависимостей от PropertyDescriptor и IndexedPropertyDescriptor. Поэтому мне интересно, есть ли альтернативы?

В основном все, что я хочу сделать, это использовать имя метода в виде строки "someMethod" и передать это в setMethod(anObject, "someMethod", value), что очень похоже на PropertyUtils; но без необходимости прибегать к гадостям отражения...

Или мои руки связаны, и мне нужно использовать Reflection?

Ответ 1

Существует возможность использовать библиотеки или написать собственный код в зависимости от PropertyUtils. Но это, конечно, не денди. Вы можете получить общее представление о том, что должно быть сделано в этом thread.

Есть, по-видимому, некоторые проекты, которые успешно решили проблему, поэтому вы можете изучить их решение. Взгляните на Drawingpad-base и libgdx. Вы можете найти PropertyUtils в пакете com.madrobot.beans в первом проекте и com.badlogic.gdx.beans во втором.

Ответ 2

Существует библиотека мостов, которая работает на Android: android-java-air-bridge.jar. Просто включите в путь проекта и используйте все функции apache beanutils в вашем проекте Android, как вы могли бы использовать в обычном Java-приложении. Кроме того, есть много других классов, которые переместились в эту поддерживающую Android поддержку. Посмотрите на список.