Существуют ли совместимые с 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 поддержку. Посмотрите на список.