Я новичок в разработке Android. У меня вопрос относительно использования Reflection API в Android.Использование отражения в Android плохой дизайн?
Как, например, я могу написать некоторый код, как это подключить Bluetooth:
try {
Method connectMethod = proxy.getClass().getDeclaredMethod("connect", BluetoothDevice.class);
if(!((Boolean) connectMethod.invoke(proxy, device))){
Log.i(TAG, "Unable to start connection");
} else {
Log.i(TAG, "Connection Successful");
}
} catch (Exception e) {
Log.e(TAG, "Unable to reflect android.bluetooth.BluetoothPan", e);
}
Аналогично другие API-интерфейсы могут быть использованы для установки привязывать и делать другие материалы. Эти функции (например, набор привязок) должны выполняться пользователем из приложения «Настройка» в телефоне.
Это мои вопросы?
- Не рекомендуется ли использовать отражение в разработке android?
- Если я создаю пользовательские разрешения для этих функций и добавляю к разрешениям пользователя, то это поддерживается дизайном? Поскольку для доступа API доступа нет специального разрешения (разрешения пользователя).
- В соответствии с шаблоном проектирования Android, является ли табу использовать API-интерфейс отражения?
Если вы используете его для доступа к методам и полям, у вас обычно нет доступа, это определенно помещает вас на тонкий лед. – Henry
@ Хенри: Спасибо за ваш ответ. Но вы можете объяснить с помощью некоторого примера. Например, я разрабатываю одно приложение, которое работает только с привязкой, поэтому каждый раз, когда пользователь должен перейти в Настройки и начать модем вручную. Если я делаю ту же работу, используя отражение, я нахожусь на «тонком льду» ?? – Saby
Да, потому что вы что-то делаете, разработчики API не поддерживают. Это может сломаться при каждом обновлении версии. – Henry