Мне нужно использовать класс CookieManager для устройств с версией 9 или выше. Мой код просто выглядит так:Как работать с новыми классами, будучи обратно совместимыми в Android?
public class HttpUtils {
private static CookieManager cookie_manager = null;
@TargetApi(9)
public static CookieManager getCookieManager() {
if (cookie_manager == null) {
cookie_manager = new CookieManager();
CookieHandler.setDefault(cookie_manager);
}
return cookie_manager;
}
}
Когда я запускаю это на эмуляторе 2.2; У меня есть этот журнал ошибок;
Could not find class 'java.net.CookieManager', referenced from method com.application.utils.HttpUtils.getCookieManager
Когда мне нужен CookieManager, я вызываю этот метод с проверкой версии os;
if (Build.VERSION.SDK_INT >= 9)
...
So; в моем приложении, если версия 2.2 или ниже; этот метод никогда не называется. Мой вопрос: почему я вижу этот журнал ошибок?
Я удалить '@TargetApi (9)' из вашего кода и запустить его на 2.1 эмулятора, и работает без ошибок. – hasanghaforian
@hasanghaforian; он не генерирует исключение, но есть этот журнал ошибок, о котором я упоминал. Вы видели это? И вы отлаживали приложение или просто запускали его? – syloc
Я отлаживал его без ошибок в logcat. – hasanghaforian