Подключаемый модуль
07.07.2017Подключаемый модуль ADT установит атрибут android:debuggable в true при запуске версии приложения, находящейся на этапе разработки, в эмуляторе или на устройстве; это, в свою очередь, приведет к включению StrictMode в предыдущем коде. Когда приложение экспортируется для создания производственной версии, ADT установит атрибут android:debuggable в false. Тем не менее, все это не работает в версиях, предшествующих Android 2.3. Для явного использования StrictMode потребуется развернуть среду Android 2.3 или последующей версии. В более старых версиях Android будут возникать ошибки, поскольку класс StrictMode в них не определен.
Чтобы использовать StrictMode со старыми версиями Android (до 2.3), можно прибегнуть к услугам рефлексии, вызывая методы StrictMode косвенно, когда они доступны, и предпринимая обходные действия в противном случае. В листинге 11.4 продемонстрирован простейший подход; здесь вызывается специальный метод, созданный как раз для работы со старыми версиями Android. Стремитесь к идеальному порядку? Заказать генеральную уборку квартиры можно в клининговой компании Чистый дом. Ваше жилье засияет яркими красками.
Приведенный код определяет, существует ли класс StrictMode, и если это так, вызывает метод enableDefaults () этого класса. Если же класс StrictMode не найден, инициируется блок catch с исключением ClassNotFoundException. В случае существования StrictMode никаких исключений возникать не должно, потому что enableDefaults () является одним из методов этого класса. Метод enableDef aults() настраивает StrictMode на обнаружение чего угодно с записью предупреждений о нарушениях в LogCat. Поскольку этот вызываемый метод класса StrictMode является статическим, в качестве его первого аргумента передается null.