Как использовать getParameters API отражения в Android API уровня 25 и ниже?

В настоящее время я создаю служебную программу для регистрации в приложении для Android, которая использует Reflection API для регистрации основных данных о вызываемом классе / методе / параметрах.

Method.getParameters() - это вызов для получения массива параметров для данного метода но этот метод работает только на Android API уровня 26+. Кто-нибудь знает обходной путь, который позволил бы мне использовать getParameters() на уровне API 25 или ниже?

В качестве альтернативы, если для этого есть достойное решение, это тоже сработает! Заранее спасибо! Вот метод, который я обновлю, как только у меня будет исправление / обходной путь:

private Parameter[] _retrieveParametersForMethod( Method method ) {

    Parameter[] methodParameters;

    // getParameters() only works on API level 26+ (Oreo)
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        return methodParameters = method.getParameters();
    } else
        return null;    // TODO: Find a workaround for pre-API level 26

}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
134
1

Ответы 1

Не уверен, что это сработает для вас, но у меня есть много возможностей для использования apache beanutils:

http://commons.apache.org/proper/commons-beanutils/

Я вижу, что это обертывает Java Reflection API - были ли у вас проблемы с получением параметров метода на устройстве Android ниже 26? Меня беспокоит то, что я все равно столкнусь с этим ограничением, поскольку оно устанавливается в Reflection API.

Armando Vasquez 20.08.2018 18:25

Другие вопросы по теме