Моим приложениям необходимо настроить уровень API 7 и выше, однако я бы хотел выборочно использовать функциональность из более новых версий, когда он станет доступным. Например, я мог бы иметь такой код:как поддерживать поддержку старых версий Android в eclipse
if (Build.VERSION.SDK_INT >= 8) {
base64String = android.util.Base64.encodeToString(bytes, android.util.Base64.DEFAULT);
} else {
base64String = MyCustomBase64.encodeBytes(bytes);
}
Однако, когда я настроить проект в затмении нацеливать «Android 2.1» (API 7) класс android.util.Base64 не найден, так как ему только существует для API 8 и выше. Eclipse затем указывает эту строку как ошибку компиляции (красный «x»), поскольку класс не находится на пути сборки.
Мой вопрос: что такое «правильный» способ обработки такого рода разработок (поддерживающих функции, которые фактически не существуют в целевой среде) при разработке Android с использованием Eclipse?
Я всегда могу изменить цель в Eclipse до версии 2.2 (API 8), но это тоже не идеально. Это создает ситуацию, когда я могу неосознанно использовать функцию, которая существует только в 8+ и не должна быть уведомлена об этом фактом Eclipse.
какой у вас MyCustomBase64? У меня такая же проблема ... – bersam