Лучшие практики для вызова методов на основе выбора в SharedPreferences - PullRequest
0 голосов
/ 26 ноября 2018

В настоящее время я сохраняю имя метода в качестве значения в SharedPreferences, строю путь к методу из строк и вызываю метод с помощью .invoke().Методы разделены на несколько классов.

void invokeMethod(String method, String className) {
    String mType = getPackageName() + "." + className;
    try {
        Class mClass = Class.forName(mType);
        Constructor<?> cons = mClass.getConstructor(Context.class);
        Object o = cons.newInstance(getApplicationContext());
        Method mMethod = mClass.getMethod(method);
        mMethod.invoke(o);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

Это сработало для подтверждения концепции, но кажется очень хакерским.Он ссылается на мой предыдущий вопрос .Я решил эту ошибку, но один из пользователей предложил вообще удалить invokeMethod ().Как?Есть ли лучший подход?

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